C++ 而在向量中插入整数时,循环工作不正常

C++ 而在向量中插入整数时,循环工作不正常,c++,c++14,stdvector,C++,C++14,Stdvector,使用While循环将元素插入向量时,我的向量为空。代码未按预期工作 while(n--){ int a; cin>>a; v.push_back(a); } 当我使用此代码插入元素时,我的向量为空。然而,如果我使用for循环,它可以正常工作。有人能解释为什么它不工作吗?这段代码为我循环了5次,并为向量生成了正确的大小结果5 #include <iostream> #include <string> #include <v

使用While循环将元素插入向量时,我的向量为空。代码未按预期工作

    while(n--){
    int a;
    cin>>a;
    v.push_back(a);
}

当我使用此代码插入元素时,我的向量为空。然而,如果我使用for循环,它可以正常工作。有人能解释为什么它不工作吗?

这段代码为我循环了5次,并为向量生成了正确的大小结果5

#include <iostream>
#include <string>
#include <vector>

int main()
{
    int n = 5;
    std::vector<int> v;
    while(n--)
    {
       int a;
       std::cin>>a;
       v.push_back(a);
    }

    std::cout << v.size() <<std::endl;

}

#包括
#包括
#包括
int main()
{
int n=5;
std::向量v;
而(n--)
{
INTA;
标准:cin>>a;
v、 推回(a);
}

std::你能为上下文共享更多的代码吗?当你进入循环时,n的值是多少?没有更多的上下文,很难得出任何结论。请写一篇文章来说明这个问题(理想情况下,从
std::istringstream
而不是标准输入中读取).问题在于您没有向我们展示的其他代码。