首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vector容器中是否应该放指针?解决方法

2012-05-01 
vector容器中是否应该放指针?今天在看《C++编程规范》的时候,看到里面提到一条,其中提及:不要在vector容器中

vector容器中是否应该放指针?
今天在看《C++编程规范》的时候,看到里面提到一条,其中提及:
不要在vector容器中存储指针类型,如vector<MyClass*> v;
如果要存储指针类型使用list list<MyClass*> lst;

可书上没提及为什么

请您帮忙解释

谢谢

[解决办法]
应该是有上下文的
[解决办法]
vector完全可以存放指针
只是往vector中添加元素时都是拷贝的元素副本
所以相当于指针存了2份。不安全
[解决办法]
因为Vector存储的是拷贝,而对于指针来说,多一个备份就意味着多一份危险。
[解决办法]
对于那些严谨的人,这可以,因为 STL 容器允许。
对于那些不严谨的人,最好不要这样。

那些规则,只是告诉你,最好不要这样,如果你不够严谨。
[解决办法]

探讨

应该是有上下文的

[解决办法]
建议不要在容器里面放指针
容易出问题 不好管理
[解决办法]
如果你的类中还有指针,那么容器中最好用来这个类的指针,因为如果是存实例的拷贝的话有可能会出现问题
或者你这个类非常大,拷贝这个类开销大,这时候存指针
前提是,保证不犯错,谨慎

热点排行