0

4 つのフロートを格納する必要があるクラスがあります。float を配列に格納するか、クラスの 4 つのメンバーとして格納する方が効率的ですか? 特に stl-containers とパラメーターの受け渡しとの組み合わせで。

4

7 に答える 7

0

float を配列内に格納し、名前付きアクセサーを提供できます。両方の長所 ;)

struct Vector4f
{
    float a[4];
    float x() const { return a[0]; }
    float y() const { return a[1]; }
    float z() const { return a[2]; }
    float w() const { return a[3]; }
};
于 2013-09-09T17:36:03.303 に答える
0

C++ FAQ: Arrays Are Evilのこの警告を考慮してください。最後の段落:

これを明らかにするために、配列は本当に悪です。C++ を初めて使用する場合は、そうは思わないかもしれません。しかし、配列を使用する大量のコードを作成した後 (特に、コードをリーク防止および例外セーフにする場合) は、難しい方法で学習します。または、そのようなことをすでに行った人を信じることで、簡単な方法を学ぶことができます. 選択はあなた次第です。

編集: @Eric からのコメントを見た後、調査したところ、この洞察に満ちた質問が見つかりました: C++ で配列を使用する必要がありますか? . そこにある回答のいくつかは、メンバー変数を固定サイズの配列として宣言することが、実際に C++ で配列を適切に使用できることを示しています。

ただし、一般的に言えば、C++ FAQ が主張しているように、配列は C++ では注意して使用する必要があります。

于 2013-09-09T18:47:02.253 に答える