c++: 复制一个 boost::array

标签 c++ arrays boost copy

说我有

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/

相关文章:

c# - 字符串与字节数组,性能

c++ - 使用智能指针包装 C 创建和销毁函数

java - 带轴 JTable

c++ - 如何使用 Google Test 测试 EXE? (2)

c++ - boost::iterator_facade 和 std::find(...)

填充 vector 的 C++ 有状态仿函数

c++ - 不能包含 std::format

c++ - 找到 `destroyed(QObject*)`信号的发送者

python - 有效地从现有数组创建新的numpy数组

javascript - 根据另一个数组的相应值获取数组元素 - Lodash