1.)有什么区别
CArray <SomeClass> collection;
Run Code Online (Sandbox Code Playgroud)
和
CArray <SomeClass,SomeClass> collection;
Run Code Online (Sandbox Code Playgroud)
甚至
CArray <SomeClass* ,SomeClass* > collection;
Run Code Online (Sandbox Code Playgroud)
?
2.)在阅读Stackoverflow上的一些评论时,我发现了一条说"不要使用CArray"的说明.为什么不使用CArray?
这个:
CArray <SomeClass> collection;
Run Code Online (Sandbox Code Playgroud)
相当于:
CArray <SomeClass, const SomeClass&> collection;
Run Code Online (Sandbox Code Playgroud)
第二个模板参数用于指定访问成员的类型.模板参数在MSDN上的文档中描述.
这个:
CArray <SomeClass* ,SomeClass* > collection;
Run Code Online (Sandbox Code Playgroud)
存储指向类型对象的指针集合SomeClass,而另外两个存储类型对象的集合SomeClass.
至于为什么你"不应该使用它" std::vector,它是C++语言标准的一部分,因而便携,对于大多数项目来说可能是更好的选择.如果你有使用的遗留代码CArray,那么你可能需要使用它,并且没有任何问题.
| 归档时间: |
|
| 查看次数: |
3773 次 |
| 最近记录: |