1
Моя попытка:Как назначить вектор объекту по ссылке?
class myClass {
std::vector<int> myVector;
public:
myClass(std::vector<int> &v) {
this->myVector = v;
}
void doSomething() {
for (int &num : this->myVector) {
num += 100;
}
}
};
в основной():
vector<int> myVect = {1,2,3,4};
myClass myClassInst(myVect);
myClassInst.doSomething();
но проверка:
for (int i : myVect) {
printf("%i\n", i);
}
не делает никаких изменений исходного вектора.
Извините, мой плох, вектор должен быть изменен через объект, конечно. Последний цикл предназначен для проверки. – rsk82
Вы передаете вектор по ссылке на конструктор, но конструктор копирует содержимое переданного вектора в элемент данных 'myVector'. То есть 'myClassInst.myVector' и' myVect' не связаны. – dyp