Форум программистов, компьютерный форум CyberForum.ru

VisualStudio C++ vector<vector<int> > push_back() - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 5.00
Erik945
29 / 1 / 1
Регистрация: 30.08.2013
Сообщений: 36
10.09.2013, 02:31     VisualStudio C++ vector<vector<int> > push_back() #1
Кодю на VS2010

C++
1
2
vector<vector<int> >index_UV;
index_UV.push_back(); //должен создаться пустой интовский вектор
Вылетает ошибка
std::vector<_Ty>:: push_back' : no overloaded function takes 0 arguments
т.е. для вектора не определен пуш_бек без аргументов, и в виде аргумента он желает vector<int>.
Я, конечно, могу написать в духе

C++
1
2
3
vector<vector<int> >index_UV;
vector<int> temp_vector;
index_UV.push_back(temp_vector); //
Но уж больно это уродливо. Создавать пустой вектор, потом передавать его в качестве параметра, потом уничтожать...
Может можно иначе?

З.Ы. Что интересно, борланд глотает первый вариант на "ура".
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.09.2013, 02:31     VisualStudio C++ vector<vector<int> > push_back()
Посмотрите здесь:

C++ Указатель на объект вектор в векторе vector < vector<int>* >*
C++ Vector . push_back
C++ set_difference(vector<pair<int,int>>, vector<int>>
C++ push_back() and vector of classes
C++ Ошибка push_back() в vector
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
10.09.2013, 03:24     VisualStudio C++ vector<vector<int> > push_back() #2
По-моему, вариантов два: писать так, как нужно студии или переходить на среду с другим компилятором.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
10.09.2013, 03:39     VisualStudio C++ vector<vector<int> > push_back() #3
Цитата Сообщение от Erik945 Посмотреть сообщение
Но уж больно это уродливо. Создавать пустой вектор, потом передавать его в качестве параметра, потом уничтожать...
Может можно иначе?
вы даете функции ноль аргументов, как это должно работать?
впрочем
C++
1
2
vector<vector<int> >index_UV;
index_UV.push_back(vector<int>()); //должен создаться пустой интовский вектор
Erik945
29 / 1 / 1
Регистрация: 30.08.2013
Сообщений: 36
10.09.2013, 08:51  [ТС]     VisualStudio C++ vector<vector<int> > push_back() #4
А чем это принципиально отличается от второго варианта?
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
10.09.2013, 11:56     VisualStudio C++ vector<vector<int> > push_back() #5
Цитата Сообщение от Erik945 Посмотреть сообщение
А чем это принципиально отличается от второго варианта?
Быстрее работает.
Erik945
29 / 1 / 1
Регистрация: 30.08.2013
Сообщений: 36
10.09.2013, 11:59  [ТС]     VisualStudio C++ vector<vector<int> > push_back() #6
За счет отсутствия инициализации?
Если можно, по подробнее.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,309
10.09.2013, 12:05     VisualStudio C++ vector<vector<int> > push_back() #7
Цитата Сообщение от Erik945 Посмотреть сообщение
З.Ы. Что интересно, борланд глотает первый вариант на "ура".
Увы, это означает, что Борланд нужно выбросить в Корзину. Ибо Стандарт языка (23.3.6.5) такого не предусматривает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.09.2013, 12:10     VisualStudio C++ vector<vector<int> > push_back()
Еще ссылки по теме:

Работа со столбцами в vector< vector<int> > C++
C++ Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>>
Сортировка vector<vector<int>> C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
10.09.2013, 12:10     VisualStudio C++ vector<vector<int> > push_back() #8
Цитата Сообщение от Erik945 Посмотреть сообщение
За счет отсутствия инициализации?
Если можно, по подробнее.
Не занимается место в памяти на лишнюю переменную =) Экономия мизерная =)
Yandex
Объявления
10.09.2013, 12:10     VisualStudio C++ vector<vector<int> > push_back()
Ответ Создать тему
Опции темы

Текущее время: 20:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru