0

float 配列のラッパーである数値 Vector クラスがあり、要素ごとの初期化にうんざりしています。

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

C++ 11 を使用せずに (Boost は問題ありませんが、好ましくありません)、これを一度に実行するためにどの演算子とトリックを使用できます

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

または本当に正気なもの。

4

1 に答える 1

0

Vector1 つの可能性は、クラスにコンストラクターを与えてint*から、標準の初期化リストで初期化できる int 配列から初期化することです。だから、このようなもの:

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

これは完璧な解決策ではありませんが、要素を 1 つずつ初期化するよりもおそらく便利です。

于 2013-06-03T16:57:13.217 に答える