Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Whiteha
Программист
33 / 33 / 8
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
1

Вызов конструктора с несколькими параметрами при использовании push_back() в vector'е

27.02.2012, 17:35. Просмотров 1055. Ответов 5
Метки нет (Все метки)

Ситуация:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <vector>
class bar
{
public:
    bar();
    bar(int);
    bar(int, int);
    //<...>
};
//<...>
int main()
{
    std::vector<bar> bvec;
    bvec.push_back(/*...*/);  // Существует ли здесь способ вызвать bar(int, int)?
//<...>
}
Насколько я помню - нельзя, но вдруг как-то всё-таки можно...
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.02.2012, 17:35
Ответы с готовыми решениями:

vector выдает странные строки при использовании push_back
Вот что я получаю *** Error in `./main': double free or corruption (!prev):...

При использовании push_back для vector-а, все предыдущие элементы перезаписываются
Доброго времени суток,хочу поместить в вектор пути к файлам в определенной...

Ошибка при вызове конструктора с параметрами
подскажите, почему при вызове конструктора с параметрами выдает ошибку...

Как избавиться от вызова конструктора при использовании new
Здравствуйте, я хочу задать несколько вопросов, ответы на которые я не смог...

Подскажите, почему не видит переменные a и b? При использовании конструктора
#include &lt;iostream&gt; #include &lt;math.h&gt; #include &lt;locale&gt; using namespace std;...

5
CheshireCat
Эксперт С++
2914 / 1263 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
27.02.2012, 17:40 2
C++
1
2
3
4
5
6
int main()
{
    // .......
    bvec.push_back( bar(3, 2) );
    // .......
}
1
Whiteha
Программист
33 / 33 / 8
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
27.02.2012, 17:45  [ТС] 3
Точно, аригато.
0
igorrr37
1971 / 1559 / 787
Регистрация: 21.12.2010
Сообщений: 2,662
Записей в блоге: 10
27.02.2012, 19:43 4
emplace_back saves the extra copy or move operation required when using push_back
C++
1
bvec.emplace_back(3, 2);
1
Whiteha
Программист
33 / 33 / 8
Регистрация: 08.07.2011
Сообщений: 190
Записей в блоге: 1
27.02.2012, 20:45  [ТС] 5
igorrr37, не могли бы вы немного рассказать про разницу между emplace_back() и push_back()?
К своему стыду я только сейчас о таком услышал...
0
soon
2546 / 1311 / 177
Регистрация: 09.05.2011
Сообщений: 3,086
Записей в блоге: 1
27.02.2012, 20:51 6
Whiteha, он в C++11
http://en.cppreference.com/w/cpp/container/vector/emplace_back
1
27.02.2012, 20:51
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.02.2012, 20:51

Программа стала работать некорректно при добавлении конструктора с параметрами
Есть задача заюзать конструктор с параметрами (см. в самом начале кода) (до...

Неявный вызов конструктора шаблонного класса при операции сравнения
Реализовал шаблонный класс целых чисел, для использования его в шаблонном...

ООП в C++: Вызов родительского конструктора с параметром при создании объекта дочернего класса
Здравствуйте! Столкнулся с такой проблемой: если есть родительский класс с...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru