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;
}
}
};
在
的main():
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