у меня есть:Как читать значение из вектора без копирования?
class Foo {
std::vector<Thing>things;
void bar();
}
Мне нужно изменить Вещь, хранящиеся в вещах в баре:
void bar(){
//How do I read a Thing stored in the vector, without making a copy?
Thing thing = things[0]; // Doesn't this make a copy ?
//.....
}
Как я прочитал вещь, хранящуюся в векторе, не делая копию? Если да, то:
Thing &thing = things[0];
Элементы вещи не инициализированы.
Почему малыш просто работа на вещи [0] без сохранения его в переменной темп? –
Потому что на самом деле вещи являются длинным именем класса и имеют много членов, внутри которых есть много других членов внутри, поэтому каждая строка кода станет очень длинной, если я не узнаю, как использовать ссылки. –
Что означает «члены вещи не инициализированы»? 'thing' не является отдельным объектом в вашем последнем фрагменте кода, поэтому ничего не нужно инициализировать. –