2013-06-03 83 views
0

我有一個數值Vector類,這是一個浮陣列上的包裝物,以及我有病元件逐元素初始化:用類似於初始化列表的東西來初始化一個類似數組的類?

Vector vec(3); 
vec(1) = 1; 
vec(2) = 2; 
vec(3) = 3; 

在不使用C++ 11(升壓確定,但不是優選的),我可以發揮什麼樣的運營商和技巧來做到這一切在一次,東西類似一個括號內的初始化列表,如:

Vector vec(3) = {1,2,3}; 
// --OR-- 
Vector vec(3) << 1 << 2 << 3; 

或任何理智真的。

回答

0

一種可能性是給你的Vector類構造一個int*構造函數,然後從一個int數組中初始化它,你可以用一個標準的initaliser列表初始化它。因此,像這樣:

int vecData[] = {1,2,3}; 
Vector vec(vecData, sizeof(vecData)/sizeof(vecData[0])); 

這不是完美的解決方案,但可能比一個initalising元素一個更方便。