2016-11-17 6 views
0

Как добавить int в массив int. Я не хочу устанавливать размер массива, я не хочу использовать внешний цикл.C++ add int to int array

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

Вы не можете. Размер массива фиксирован. Используйте 'std :: vector', если вам нужен динамический массив. – Leon

+0

@JonathanMee забудьте об этом, я удалю мои комментарии. В списке –

ответ

4

Адрес Leon suggestsvector и особенно его метод push_back.

Вы можете использовать его следующим образом:

vector<int> myArray; // currently size 0 

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

EDIT:

Вы можете использовать ostream_iterator для печати vector. Например:

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

Могу ли я напечатать этот вектор в одной строке? с петлей? – TeodorKolev

+0

@TeodorKolev, если вы настаиваете на одной строке: 'for (int i: myArray) std :: cout << i << '';' :) – StoryTeller

+0

@StoryTeller 'ostream_iterator' - лучшее решение, и оно подходит для одна строка;) –

0

Вы не можете использовать push в массиве. Я бы предложил вам использовать lists или vectors, если вы не хотите устанавливать какой-либо размер.

+2

есть суб-производительность в большинстве случаев, за исключением действительно параллельной настройки. Лучше обращаться к 'std :: vector' по умолчанию. – StoryTeller

+0

Также вы должны предпочесть ссылку на cppreference.com через cplusplus.com (последний из которых иногда является неточным) – UnholySheep