STL容器的共通能力
- 所有容器提供的都是“value语义”而非"reference语义"。容器进行元素的安插动作时,内部进行copy或者move,而不是管理元素的reference。
- 元素在容器内有其特定顺序。
- 一般,各项操作并非绝对安全,调用者需要确保传给操作函数的实参符合条件。
const vector<int> v1 = { 1,2,3,4,5,6 }; //使用初值列初始化 vector<float> v2(v1.begin(), v1.end()); //使用区间初始化 list<string> l = { "hello","world" }; vector<string> c1(make_move_iterator(l.begin()), make_move_iterator(l.end())); //使用move迭代器初始化 int aArray[] = { 2,3,7,11,33 }; set<int> c2(std::begin(aArray), std::end(aArray)); //C-Style数组元素初始化 vector<float> c3 = std::move(v2); //使用move构造函数初始化,容器v2的内容将不再明确
原文地址:https://www.cnblogs.com/larry-xia/p/9349552.html
时间: 2024-08-29 14:43:11