vector作為classpoint的容器怎么初始化?
vector 實際上并不是數組,它是一個類模板。所以可以用 () 初始化,也就是調用有參數或無參數的構造函數。
vector<string>v1(10,"hi") 表示初化始數據長度為10,數據成員都是"hi"。
在 C++11 的標準中,增加了新的特性:initialize_list,初始化列表。因此可以像普通數組那樣使用 {} 來初始化。
但 C++11 至少到 VC 2013 才完全支持,而你用的是 VC6。
使用初始化列表的第一種寫法:
vector<string> v2{4,"a"}; 表示數組初始化長度為 4,成員都是 "a"。
第二種寫法:
vector<string> v2{"a","b","c","d"}; 表示數組初始化長度為 4,成員分別是 "a", "b", "c","d"。
如果是 vector<int>這樣的成員是數值的,就只能使用第二種寫法。
使用更高的 VC 版本,至少 2013。最好一步到位到 2015 或 2017,你的代碼就對了。