如何在向量中 emplace_back (追加)而不声明变量..?

ORE*_*REZ 2 c++ stl vector c++17

如果输入数量作为第一个输入给出。
如果我需要将它们存储在向量中,
我可以通过创建一个变量并使用该变量轻松地做到这一点,我可以将其附加到我很想知道的向量中
,是否有其他方法可以让我不必使用变量..

输入

4
1 5 3 2
Run Code Online (Sandbox Code Playgroud)

向量如何获取输入

vector<int>vec;
for(int i=0;i<n;i++)
{
    int x;
    cin>>x;    // any idea to remove using a variable here..?
    vec.emplace_back(x);
}
Run Code Online (Sandbox Code Playgroud)

数组如何获取输入

int array[n];
for(int i=0;i<n;i++)
cin>>array[i];
Run Code Online (Sandbox Code Playgroud)

康桓瑋*_*康桓瑋 5

是的,只需这样做:

std::cin >> vec.emplace_back();
Run Code Online (Sandbox Code Playgroud)

C++17 中的返回类型vector::emplace_back()不再是void. 相反,它返回对插入元素的引用。因此vec.emplace_back()将默认构造一个元素并返回其引用。