push_back - c++ vector size



矢量成員在一個類中的一個奇怪現象 (1)

包括所有的頭文件,

class Test{ 
public:
    vector<int> vector_int(10);
    Test(int num);
    ~Test();
};

Test::Test(int num){
    cout << "constructor employed" <<endl;
    vector<int> vector_int;
    for (int i = 0; i < num; i++){
        vector_int.push_back(i);
    }
    cout<<"The size is " << vector_int.size()<<endl;
}

int main(){
    int num = 10;
    Test* a = new Test(10);
    cout<< a->vector_int.size()<< " is the size"<<endl;
    return 0;
}

結果:應用構造函數大小為10

0是大小

在我看來,這些尺寸應該是相同的。 構造函數也被使用。 那麼問題是什麼?

https://src-bin.com


Answer #1

你在構造函數vector_int的局部變量映射類成員變量vector_int

刪除行vector<int> vector_int; 從構造函數,它應該按預期工作。





vector