摘要: C# 泛型和 C++ 模板都是用于提供参数化类型支持的语言功能。然而,这两者之间存在许多差异。在语法层面上,C# 泛型是实现参数化类型的更简单方法,不具有 C++ 模板的复杂性。此外,C# 并不尝试提供 C++ 模板所提供的所有功能。在实现层面,主要区别在于,C# 泛型类型替换是在运行时执行的,从而为实例化的对象保留了泛型类型信息。以下是 C# 泛型和 C++ 模板之间的主要差异:C# 泛型未提供与 C++ 模板相同程度的灵活性。例如,尽管在 C# 泛型类中可以调用用户定义的运算符,但不能调用算术运算符。C# 不允许非类型模板参数,如 template C {}。C# 不支持显式专用化,即特定 阅读全文
posted @ 2013-08-23 21:19 流星232 阅读(411) 评论(0) 推荐(0) 编辑