如何调整矢量c ++的大小

时间:2014-04-03 00:56:40

标签: c++ vector resize

int main()
{
    vector<list<string> > tail;
    int x;
    cin >> x;

    if (x == 1) {
        vector<list<string> > tail(1);
    }
}

是否可以调整vector<list<...> > ..?

的大小

1 个答案:

答案 0 :(得分:0)

您的代码示例存在严重缺陷,tail变量在本地范围内被遮蔽,可能无法正常运行:

int main()
{
    vector<list<string> > tail;
    int x;
    cin >> x;

    if (x == 1) {
        vector<list<string> > tail(1); // A new tail variable local to the block
                                       // scope, this does effectively nothing
    }
}

你可能想要这样的东西

int main()
{
    vector<list<string> > tail;
    int x;
    cin >> x;

    if (x == 1) {
        tail.resize(1,list<string>());
    }
}