私は次のようなコードを持っています:
int n;
int get_the_number();
void some_computations();
int main()
{
n = get_the_number();
some_computations()
return(0);
}
この
get_the_number
関数は入力を取得して整数を返しますがn
、呼び出し後は変更されません。some_computation
関数には次のコードがありますstd::vector<my_struct> my_array; for(int i=0; i<n; i++) { my_struct struct_temp; // fill struct_temp; my_array.push_back(struct_temp); }
質問:のサイズは事前にわかっているので、を?my_array
に置き換えることは可能ですか?さらに、肯定的なケースでは、効率の面での向上を期待する必要がありますか?std::vector
std::array
ベクトル宣言を次のように置き換えようとしました
std::array<my_struct,n> my_array;
しかし、エラーが発生します。配列のサイズは一定でなければなりません。それを回避する方法はありますか?
どうもありがとうございます。