【C++標準庫】STL容器
阿新 • • 發佈:2018-07-22
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容器