В приведенном ниже коде 3 объекта d1 и d2 создается для выполнения push_back(). Один, когда я создал, один в вызове v.push_back() и другой, когда он фактически скопирован в вектор {я не уверен}.эффективный push_back в std :: vector
Что будет лучшей альтернативой, чтобы избежать этого без использования std :: vector в C++ 03?
#include <iostream>
#include <vector>
#include <string>
using namespace std;
struct Details
{
string fname;
string lname;
string address;
int age;
};
int main(int argc, char **argv)
{
vector<Details> v;
Details d1;
d1.fname = "vivek";
d1.lname = "kumar";
d1.address = "New Delhi";
d1.age = 25;
v.push_back(d1);
Details d2;
d2.fname = "some name";
d2.lname = "some lastname";
d2.address = "some address";
d2.age = 25;
v.push_back(d2);
return 0;
}
В моем проекте по-прежнему используется стандарт C++ 03. – dearvivekkumar
Не пытайтесь оптимизировать то, что вы не оценили, чтобы быть проблемой. Возможно, вы получите ненужный сложный код, который * является проблемой. – DevSolar
Confused. Вы хотите дважды поместить один и тот же объект в вектор? – rileyberton