c++ vector有個很神奇的初始化方法:
vector<int> a = {1, 2, 3, 4, 5};
這種方法讓我感到很是驚奇,這是什么操作?
我知道初始化數組是這樣寫的,但是vector雖然是類似於數組,但是本身是個類,是要用構造函數初始化的,也不是什么原生數據類型啊,花括號初始化是什么操作?
然后,我就去看了看vector的源碼,模板給我看的好煩,算了,百度去。
百度查了查,發現一篇文章講的比較清晰,主要是用了initializer_list。C++如何實現用大括號初始化vector - 簡書
真是神奇啊,直接在編譯器層面支持了,不過在VS2010和2012上,對這種初始化方法貌似支持效果還不太好,不能用花括號初始化vector。