我想做的是通过直接在调用中放入数组来调用包含 std::vector
参数的函数。我不想制作一个 vector 然后将其传递给函数,但我想将大括号放在函数中。这是总体思路:
void doSomething(std::vector<int> arr)
{
std::cout << arr[0] << std::endl;
}
int main()
{
doSomething({ 1, 2, 3 });
}
这给了我一个错误。我也尝试过使用 lambda 表达式,我不太熟悉它,但它是:
doSomething([]()->std::vector<int>{ return{ 1, 2, 3 }; });
这是行不通的。这是我特别不想要的:
std::vector<int> a {1, 2, 3};
doSomething(a);
那么我该如何处理呢?我真的希望我写的东西不是完全愚蠢。
最佳答案
关于c++ - 如何将右值 std::vector 传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35807905/