C++,循环输入int数的while循环不输入非int数就无法继续

源码如下:

#include <string>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int i;
    vector <int > v1;
    while (cin >> i  ) {
        v1.push_back(i);
    }
    for (auto n : v1) {
        cout << n << endl;
    }
    return 0;
}


    当我使用VS 2019运行这段代码时,每次我输入几个整数再敲回车程序都不会响应,只有当我输入非int值,比如一个char值的's'时,程序才会继续响应。合理怀疑问题出在while循环的条件上,但不知道该怎么改进。55555求助各位大佬。
    运行结果:

img

需要输入Ctrl+Z后回车,就会结束循环。

你是想要呈现出什么样的结果呢?

用 c = cin.get()读取一个字符,判断是否是回车符,如果是回车符就退出循环。