亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 3296 | 回復(fù): 6
打印 上一主題 下一主題

C++ 模板和 C# 泛型之間的區(qū)別(C# 編程指南) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-12-20 12:26 |只看該作者 |倒序瀏覽
Visual Studio 2005 其他版本  Visual Studio 2010
Visual Studio 2008

C# 泛型和 C++ 模板都是用于提供參數(shù)化類型支持的語言功能。然而,這兩者之間存在許多差異。在語法層面上,C# 泛型是實現(xiàn)參數(shù)化類型的更簡單方法,不具有 C++ 模板的復(fù)雜性。此外,C# 并不嘗試提供 C++ 模板所提供的所有功能。在實現(xiàn)層面,主要區(qū)別在于,C# 泛型類型替換是在運行時執(zhí)行的,從而為實例化的對象保留了泛型類型信息。有關(guān)更多信息,請參見運行庫中的泛型(C# 編程指南)。

以下是 C# 泛型和 C++ 模板之間的主要差異:

C# 泛型未提供與 C++ 模板相同程度的靈活性。例如,盡管在 C# 泛型類中可以調(diào)用用戶定義的運算符,但不能調(diào)用算術(shù)運算符。

C# 不允許非類型模板參數(shù),如 template C<int i> {}。

C# 不支持顯式專用化,即特定類型的模板的自定義實現(xiàn)。

C# 不支持部分專用化:類型參數(shù)子集的自定義實現(xiàn)。

C# 不允許將類型參數(shù)用作泛型類型的基類。

C# 不允許類型參數(shù)具有默認類型。

在 C# 中,盡管構(gòu)造類型可用作泛型,但泛型類型參數(shù)自身不能是泛型。C++ 確實允許模板參數(shù)。

C++ 允許那些可能并非對模板中的所有類型參數(shù)都有效的代碼,然后將檢查該代碼中是否有用作類型參數(shù)的特定類型。C# 要求相應(yīng)地編寫類中的代碼,使之能夠使用任何滿足約束的類型。例如,可以在 C++ 中編寫對類型參數(shù)的對象使用算術(shù)運算符 + 和 - 的函數(shù),這會在使用不支持這些運算符的類型來實例化模板時產(chǎn)生錯誤。C# 不允許這樣;唯一允許的語言構(gòu)造是那些可從約束推導(dǎo)出來的構(gòu)造。

轉(zhuǎn)載自:http://msdn.microsoft.com/zh-cn/library/c6cyy67b(v=VS.80).aspx

論壇徽章:
1
2015年辭舊歲徽章
日期:2015-03-03 16:54:15
2 [報告]
發(fā)表于 2011-12-20 16:36 |只看該作者
給螞蟻取名叫大象,以為就有了大象的能力。
c#java的泛型就不要和c++比較了,沒任何意義。

論壇徽章:
0
3 [報告]
發(fā)表于 2011-12-20 16:53 |只看該作者
比python中的模板差太遠了。

python默認一切都是模板,連尖括號都不用,也沒有任何限制,愛搞什么搞什么,真執(zhí)行到了,再臨時字符串搜索被調(diào)用的方法。

論壇徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:50:28
4 [報告]
發(fā)表于 2011-12-21 10:16 |只看該作者
狗蛋 發(fā)表于 2011-12-20 16:53
比python中的模板差太遠了。

python默認一切都是模板,連尖括號都不用,也沒有任何限制,愛搞什么搞什么 ...

所以python才慢的象蝸牛啊。

論壇徽章:
0
5 [報告]
發(fā)表于 2011-12-21 11:06 |只看該作者
noword2k 發(fā)表于 2011-12-21 10:16
所以python才慢的象蝸牛啊。

沒錯。不過好像你還不明白,我和2樓都是在吐槽把這種運行期確定類型稱為“泛型”、并大言不慚地和C++的泛型相提并論的騙子啊。

論壇徽章:
17
水瓶座
日期:2013-08-29 12:09:27白羊座
日期:2014-08-07 12:36:42丑牛
日期:2014-07-24 12:44:41寅虎
日期:2014-04-16 16:15:33寅虎
日期:2014-03-12 09:28:43摩羯座
日期:2014-03-06 13:22:04技術(shù)圖書徽章
日期:2014-03-06 11:34:50天蝎座
日期:2014-01-09 11:31:44寅虎
日期:2013-12-27 17:01:44雙子座
日期:2013-12-27 12:32:29雙子座
日期:2013-12-25 09:03:33丑牛
日期:2013-12-24 16:18:44
6 [報告]
發(fā)表于 2011-12-21 11:09 |只看該作者
。。。。動態(tài)語言和靜態(tài)語言沒有可比性吧,畢竟是解決不同問題的。

論壇徽章:
0
7 [報告]
發(fā)表于 2011-12-21 11:51 |只看該作者
本帖最后由 KanonInD 于 2011-12-21 11:59 編輯

對于靜態(tài)語言,支持“類型推導(dǎo)”的話,模板和范型就好辦了。
http://zh.wikipedia.org/zh/%E7%B1%BB%E5%9E%8B%E6%8E%A8%E8%AE%BA
http://en.wikipedia.org/wiki/Type_inference
http://en.wikipedia.org/wiki/Parametric_polymorphism
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP