运行时中的泛型(C# 编程指南)。
以下是 C# 泛型和 C++ 模板之间的主要差异:
-
例如,尽管在 C# 泛型类中可以调用用户定义的运算符,但不能调用算术运算符。
-
template C<int i> {}。
-
C# 不支持显式专用化,即特定类型的模板的自定义实现。
-
C# 不支持部分专用化:类型参数子集的自定义实现。
-
C# 不允许将类型参数用作泛型类型的基类。
-
C# 不允许类型参数具有默认类型。
-
C++ 确实允许模板参数。
-
C# 不允许这样;唯一允许的语言构造是那些可从约束推导出来的构造。