vector容器中是否应该放指针?
今天在看《C++编程规范》的时候,看到里面提到一条,其中提及:
不要在vector容器中存储指针类型,如vector<MyClass*> v;
如果要存储指针类型使用list list<MyClass*> lst;
可书上没提及为什么
请您帮忙解释
谢谢
[解决办法]
应该是有上下文的
[解决办法]
vector完全可以存放指针
只是往vector中添加元素时都是拷贝的元素副本
所以相当于指针存了2份。不安全
[解决办法]
因为Vector存储的是拷贝,而对于指针来说,多一个备份就意味着多一份危险。
[解决办法]
对于那些严谨的人,这可以,因为 STL 容器允许。
对于那些不严谨的人,最好不要这样。
那些规则,只是告诉你,最好不要这样,如果你不够严谨。
[解决办法]