В настоящее время я работаю с 2d векторным представлением таблицы, например, так:Векторный оператор [] возвращает значение
vector< vector<myStruct> > table
MyStruct класс я сделал. Прямо сейчас, я делаю переменную типа myStruct и устанавливаю ее равным значению из таблицы. Я делаю следующее внутри цикла for.
myStruct object = table[i][j];
Я знаю, что operator []
для вектора возвращает ссылку, но так как я объявляю новый экземпляр MyStruct, является то, что на самом деле копируется в объект?
Я интересно, если делать что-то вроде следующего будет отличаться от я выше:
myStruct & object = table[i][j];
ли это предотвратить что-то копирование, делая объект только ссылку на что-то из-за стола, или оба они делают по существу одно и то же?