【发布时间】:2011-02-09 01:14:58
【问题描述】:
假设我有这个:
SolutionSet(const SolutionSet &solutionSet) {
this->capacity_ = solutionSet.capacity_;
this->solutionsList_ = solutionSet.solutionsList_; // <--
}
而solutionsList_ 是vector<SomeType*> vect*。复制该向量的正确方法是什么(我想这种方式我做得不对..)?
【问题讨论】:
-
此外,为什么将指针存储在向量中而不是对象中?将原始指针存储在标准库容器中通常不 是一个好主意;您应该更喜欢使用指针容器(如 Boost 库提供的那些)或将智能指针存储在容器中。
-
相关问题(在那里得到答案会澄清这个问题的一些歧义):stackoverflow.com/questions/2656700/c-pointers-objects-etc
-
@James McNellis:某些类型的智能指针,例如 auto_ptr,在 STL 容器中存储是不安全的。
-
我误读了第一版中的 vect 类型,你现在所拥有的确实没有意义。 vect的类型是什么?
标签: c++ pointers constructor object copy