如何在C ++中使用指向矢量变量的指针?

时间:2016-12-16 16:11:49

标签: c++

示例代码:

int main()
{
    vector<string>* v;
    v->push_back("hello");
    v->push_back("world");
    v->push_back("!");
    for(vector<string>::iterator it = v->begin(); it != v->end(); it++)
    {
        cout << *it << endl;
    }

    return 0;
}

当我使用vector<string> v时,没关系。

但是当我使用vector<string>* v

时,为什么分段出错?

1 个答案:

答案 0 :(得分:2)

你的代码无法工作的原因是因为你没有初始化你的指针。

请改为尝试:

vector<string>* v = new vector<string>();

另外,请务必致电

delete v;

当你不再需要你的矢量时。