2012-12-06 25 views
5

は、私は、コードを持っているarray`:STD `と`のstd :: vector`を交換::次のように

int n; 

int get_the_number(); 
void some_computations(); 

int main() 
{ 
    n = get_the_number(); 
    some_computations() 

    return(0); 
} 
  • get_the_number機能は、いくつかの入力を取得し、整数nを返すそのコールの後変更されません。my_arrayのサイズは事前に知られているので、それはstd::arraystd::vectorを交換することが可能である:次のコードは、

    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); 
    } 
    

質問some_computation機能で

  • ありますか? さらに、肯定的なケースでは、私は効率の面で利益が期待されるべきですか?

    私は

    std::array<my_struct,n> my_array; 
    

    とベクトルの宣言を交換しようとしたが、私はエラーを取得:配列のサイズは一定でなければなりません。 これを回避する手段はありますか?

    ありがとうございました。

  • 答えて

    関連する問題