2010-10-16 62 views
1

我想我可以用一個詞來概括泛型在Java中的使用:類型安全。 您能用一個詞來總結C++中的模板的使用嗎?Java泛型與C++模板

+2

這就像是要求有人總結用水(或空氣)在一個單詞中的用法。 – 2010-10-16 22:44:51

+2

代表更高的人...投票結束?我很確定這被認爲是「不好的主觀」 – Dragontamer5788 2010-10-16 22:54:05

+0

我的印象是泛型是關於泛型編程,而不是類型安全。類型安全是他們對泛型編程的一個實現特徵。 'object'是之前(並且根深蒂固的)實現。 – 2010-10-16 22:59:31

回答

2

C++模板:代碼生成器。 (兩個字)

+1

代碼生成器如何? – 2010-10-16 22:44:19

+0

@Stephen:hehehehehehehehe ... G1! – 2010-10-16 22:45:06

1

由於連字符顯然是允許的,「泛型編程」。請注意,在此上下文中的「泛型」與Java泛型沒有完全相同的含義。 Java泛型實際上是參數多態的一個不同名稱; C++模板促進的泛型編程超出了參數多態所允許的範圍。

+0

如果你必須解釋你的單詞是什麼意思,它不再是一個單詞,是嗎? ;)不是說我認爲用一個詞來描述這樣的東西對任何人都是有用的。 – 2010-10-16 23:23:48

1

C++ templates:templates。它的重複性,但由於我們被限制爲一個詞,模板是一樣完整的我能想到的...

5

一個字:元編程

但是真的,你問的是非常困難的。模板是一個複雜的主題。從本質上講,模板是用於元編程的工具:也就是說,它們是生成更多代碼的代碼。

在現實世界中,最常使用的模板是從同一個類/函數模板生成多個類或函數,每個類都使用不同的類型參數。換句話說,通用編程。這可能是STL中容器類最好的展示。

但是,因爲模板最終是一個元編程設施,所以它們不僅僅允許您實現泛型類/函數。專業化,部分專業化和SFINAE允許一系列的代碼生成能力遠遠超出實現泛型類或函數。實際上,遞歸模板實例化允許您使用嵌入在C++中的圖靈完全元語言進行編程。

3

一個字:痛苦

+6

或者如何,三個字:無法解讀的編譯器錯誤 – 2010-10-16 23:14:50

0

我找到了一句話:類型獨立。 你覺得呢?