3

说我有

boost::array<std::set<std::string>, 100000> arr1, arr2;

填充后arr1我正在做arr2=arr1.

这是否将所有元素从 stl 容器复制arr1arr2stl 容器中,还是只是将arr2指针更改为指向与 相同的数组arr1

如果第一个选项是正确的,当我arr1按值传递给函数时会发生什么?

4

1 回答 1

5

这是一个参考

template<typename U> array& operator=(const array<U, N>& other);

Effects:
    std::copy(rhs.begin(),rhs.end(), begin())

注意是什么Effects。此外,您应该考虑std::array而不是boost::array您的实现是否支持它。

于 2013-11-06T10:08:13.907 回答