说我有
boost::array<std::set<std::string>, 100000> arr1, arr2;
填充后arr1
我在做 arr2=arr1
.
这是否复制了 arr1
中的所有元素?进入arr2
正如 STL 容器所做的那样,还是只是改变了 arr2
指向与 arr1
相同的数组的指针?
如果第一个选项是正确的,当我通过 arr1
时会发生什么?到值函数?
最佳答案
这是一个reference :
template<typename U> array& operator=(const array<U, N>& other);
Effects:
std::copy(rhs.begin(),rhs.end(), begin())
请注意Effects
是什么。此外,如果您的实现支持它,您应该考虑使用 std::array
而不是 boost::array
。
关于c++: 复制一个 boost::array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19808786/