C# 泛型和 C++ 模板
2008-06-16 21:39
211 查看
C# 泛型和 C++ 模板都是用于提供参数化类型支持的语言功能。然而,这两者之间存在许多差异。
C# 泛型未提供与 C++ 模板相同程度的灵活性。例如,尽管在 C# 泛型类中可以调用用户定义的运算符,但不能调用算术运算符。
C# 不允许非类型模板参数,如
C# 不支持显式专用化,即特定类型的模板的自定义实现。
C# 不支持部分专用化:类型参数子集的自定义实现。
C# 不允许将类型参数用作泛型类型的基类。
C# 不允许类型参数具有默认类型。在 C# 中,尽管构造类型可用作泛型,但泛型类型参数自身不能是泛型。C++ 确实允许模板参数。
C# 泛型未提供与 C++ 模板相同程度的灵活性。例如,尽管在 C# 泛型类中可以调用用户定义的运算符,但不能调用算术运算符。
C# 不允许非类型模板参数,如
template C<int i> {}。
C# 不支持显式专用化,即特定类型的模板的自定义实现。
C# 不支持部分专用化:类型参数子集的自定义实现。
C# 不允许将类型参数用作泛型类型的基类。
C# 不允许类型参数具有默认类型。在 C# 中,尽管构造类型可用作泛型,但泛型类型参数自身不能是泛型。C++ 确实允许模板参数。
相关文章推荐
- C#/C++ 模板和 C# 泛型之间的区别(C# 编程指南
- C++ 模板和 C# 泛型之间的区别
- C#中的泛型与C++中的模板
- C#和Java的泛型、C++模板、C#的constraints特性以及弱类型化和强类型化的问题(转)
- C++与C#对比学习:模板,泛型
- C#中的静态构造函数 静态类 C# 泛型和 C++ 模板之间的主要差异
- C++ 模板和 C# 泛型之间的区别(C# 编程)
- C++ 模板和 C# 泛型之间的区别
- C++ 模板和 C# 泛型之间的区别(C# 编程指南)
- C++、C#、JAVA中模板与泛型
- c++泛型模板
- 一个泛型句柄类--C++模板和泛型编程--c++ primer
- C++模板和泛型
- Anders Hejlsberg谈C#、Java和C++中的泛型
- C++模板与泛型(2.实现自己的Queue类模板)
- Anders Hejlsberg谈C#、Java和C++中的泛型
- (轉貼) Anders Hejlsberg談C#、Java和C++中的泛型 (.NET) (C#)
- Anders Hejlsberg谈C#、Java和C++中的泛型
- C++中模板和java中泛型的区别
- C++“模板”和Java“泛型”