Полученная выгода от списка инициализаторов и строительства на местеC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Полученная выгода от списка инициализаторов и строительства на месте

Сообщение Anonymous »

При наличии структуры стручка: < /p>

Код: Выделить всё

struct A {
int a;
int b;
};
< /code>
можно сделать: < /p>
std:vector vec;
vec.push_back(A{ .a = 4, .b = 2 });
< /code>
Но я думаю, что это в конечном итоге создает копию. Использование emplace_back 
все равно будет создавать копию. Чтобы построить на месте, необходимо добавить конструктор для like:

Код: Выделить всё

A(int a, int b)
: a(a)
, b(b)
{}
< /code>
, а затем сделать < /p>
vec.emplace_back(4, 2);
< /code>
Но добавление, которое утратит использование списка инициализаторов. А еще лучше, есть ли способ использовать список инициализаторов во время построения на месте? < /P>
Решение будет < /p>
vec.emplace_back();
vec.back().a = 4;
vec.back().b = 2;
Но это не то, что я и после.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... nstruction
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»