【C++标准库】STL容器

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的内容将不再明确

猜你喜欢

转载自www.cnblogs.com/larry-xia/p/9349552.html