У меня есть std::vector<vector<double>>
Я хочу, чтобы заполнить одну функцию. Мне нужно сохранить некоторые 3-мерные координаты для некоторых вычислений позже в моей программе.с помощью push_back положить вектор <double> в вектор <<double>>
Мой вопрос, если я это сделать:
//in classdefinition
std::vector<std::vector<double>> data;
myFunc()
{
std::vector<double> temp;
temp.push_back(1);
temp.push_back(2);
temp.push_back(3);
data.push_back(temp);
temp.clear();
//new data
temp.push_back(2);
temp.push_back(3);
temp.push_back(4);
data.push_back(temp);
}
будет клиринг и заправка температуры влияют на значения в данных?
Я уже нашел это http://www.cplusplus.com/reference/vector/vector/push_back/ , но поскольку объяснение гласит: «Содержимое val копируется (или перемещается) в новый элемент». Я не знаю, что думать. Для меня это звучит как противоречие.
Я думаю, что это не имеет большого смысла, если переменные передаются в качестве ссылки, поскольку они могут, как и в моем случае, быть действительными только в ограниченной области. Я прав с моим предположением?
О, извините, я не видел, что у меня был C++ 98 вместо C++ 11, поэтому я не видел перегруженную функцию и был сбит с толку. – NiKoCh