我一直對STL容器(vector,list,map ...)如何存儲值感到困惑。他們是否存儲對我傳入的值的引用,還是複製/複製構造+存儲這些值本身?STL:存儲引用或值?
例如,
int i;
vector<int> vec;
vec.push_back(i);
// does &(vec[0]) == &i;
和
class abc;
abc inst;
vector<abc> vec;
vec.push_back(inst);
// does &(vec[0]) == &inst;
感謝
你有什麼看起來像我的工作代碼,將測試答案(一個小的變化,使評論有條件)。運行它並看看!我很確定他們複製構建和存儲。 – 2009-09-05 06:33:49