之间的区别是什么c++0x概念和c#限制?
-
20-08-2019 - |
题
解决方案
有一点要记住的是,C ++模板和C#泛型是不完全一样的。看到此回答以上这些差异的更多细节。
从您链接到解释的C ++ 0x概念的网页,这听起来像的想法是,在C ++中,你希望能够指定模板类型实现的某些属性。在C#中,约束远不至于此,并迫使通用类型为“的”该约束。例如,以下C#代码:
public GenericList<T> where T : IDisposable
说,在地方Ť的中使用的任何类型必须强>实现IDisposable接口。同样地,下面的代码:
public abstract class ABC {}
public class XYZ : ABC {}
public GenericList<T> where T : ABC
说,在代替的T中使用的任何类型的类型必须是ABC的或从ABC的。
在的C ++ 0x概念想法只说代替的T中使用的类型必须具有相同的属性由ABC(或IDisposable接口)定义的不,它必须是该类型的。
不隶属于 StackOverflow