2016-11-17 6 views
0

intをint配列に追加するにはどうすればよいですか?私は配列のサイズを設定したくない、私は外部ループを使用したくない。C++ int配列にintを追加する

int myArray[] = {}; 
... 
if (condition) 
{ 
    myArray.push(value); 
} 
+15

できません。配列のサイズは固定です。動的配列が必要な場合は、 'std :: vector'を使用してください。 – Leon

+0

@JonathanMeeそれを忘れる、私は私のコメントを削除します –

答えて

4

Leon suggestsあなたが探しているものはvectorで、具体的にはpush_backメソッドです。

次のようにあなたがそれを使用することができます

vector<int> myArray; // currently size 0 

if(condition) { 
    myArray.push_back(value); // now resized to 1; 
} 

EDIT:

あなたはvectorを印刷するostream_iteratorを使用することができます。例:

copy(cbegin(myArray), cend(myArray), ostream_iterator<int>(cout, " ")) 
+0

その行を1行で印刷できますか? forループ? – TeodorKolev

+0

@TeodorKolev、もしあなたが単一の行を書いていれば、 'for(int i:myArray)std :: cout << i << '';' :) – StoryTeller

+0

@StoryTeller 'ostream_iterator'はより良い解決策です。 –

0

プッシュを配列に使用することはできません。サイズを設定したくない場合は、listsまたはvectorsを使用することをお勧めします。

+2

リストは本当にパラレル設定を除いてほとんどの時間、サブパフォーマンスを持っています。デフォルトでは 'std :: vector'にする方が良いでしょう。 – StoryTeller

+0

また、cplusplus.comよりもcppreference.comにリンクしたい方が良いでしょう(後者は間違っていることがあります) – UnholySheep