Я всегда был немного смущен тем, как контейнеры 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;
Спасибо