std::list::operator=
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
list& operator=( const list& other ); |
(1) | |
list& operator=( list&& other ); |
(2) | (C++11 起) |
替换该容器的内容.
1) 原文:
Replaces the contents of the container.
复制赋值操作者。与
2) other
的内容的副本的内容替换.原文:
Copy assignment operator. Replaces the contents with a copy of the contents of
other
.将赋值运算符。的
other
使用移动语义(即移动中的数据other
other
到这个容器中)的内容替换。 other
是有效的,但是未指定状态之后.原文:
Move assignment operator. Replaces the contents with those of
other
using move semantics (i.e. the data in other
is moved from other
into this container). other
is in valid, but unspecified state afterwards.目录 |
[编辑] 参数
other | - | 另一个容器被用作源
原文: another container to be used as source |
[编辑] 返回值
*this
[编辑] 复杂性
1)在所述容器的大小线性.
2) 恒定
[编辑] 为例
#include <list> #include <iostream> void display_sizes(const std::list<int> &nums1, const std::list<int> &nums2, const std::list<int> &nums3) { std::cout << "nums1: " << nums1.size() << " nums2: " << nums2.size() << " nums3: " << nums3.size() << '\n'; } int main() { std::list<int> nums1 {3, 1, 4, 6, 5, 9}; std::list<int> nums2; std::list<int> nums3; std::cout << "Initially:\n"; display_sizes(nums1, nums2, nums3); // copy assignment copies data from nums1 to nums2 nums2 = nums1; std::cout << "After assigment:\n"; display_sizes(nums1, nums2, nums3); // move assignment moves data from nums1 to nums3, // modifying both nums1 and nums3 nums3 = std::move(nums1); std::cout << "After move assigment:\n"; display_sizes(nums1, nums2, nums3); }
输出:
Initially: nums1: 4 nums2: 0 nums3: 0 After assigment: nums1: 4 nums2: 4 nums3: 0 After move assigment: nums1: 0 nums2: 4 nums3: 4
[编辑] 另请参阅
构建 list (公共成员函数) | |
将值分配到容器中 (公共成员函数) |