在下面的代碼中,有3個對象d1和d2被創建用於執行push_back()。 其中一個在我創建時,一個在調用v.push_back()時,另一個在它實際上被複制到{我不確定}的向量中時。std :: vector中的高效push_back
如果不在C++ 03中使用std :: vector,避免這種情況會是什麼樣的最佳選擇?
#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 2013-03-14 14:14:36
不要試圖優化你沒有評估過的問題。您可能最終得到不必要的複雜代碼,這是*問題。 – DevSolar 2013-03-14 14:19:12
困惑。你想把同一個對象放入一個向量兩次? – rileyberton 2013-03-14 14:19:59