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