1. 程式人生 > >【C++標準庫】STL容器

【C++標準庫】STL容器

class move () val 條件 code con spa 數組元素

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的內容將不再明確

【C++標準庫】STL容器