是否可以在 C++ 中初始化一个向量并同时返回它?

Paw*_*lur 2 c++ vector

所以我有一个问题,涉及在 leetcode 上返回 2 个值作为向量。我想做的是在找到这两个值后,用这些值创建一个新的向量并同时返回该向量。本质上,把线

vector<int> temp;
temp.push_back(a);
temp.push_back(b);
return temp;
Run Code Online (Sandbox Code Playgroud)

成一行,希望像

return new vector<int>{a,b};
Run Code Online (Sandbox Code Playgroud)

有可能在 C++ 中做这样的事情吗?

Nat*_*son 9

更简洁地说,您可以使用列表初始化

  1. 在使用花括号初始化列表作为返回表达式和列表初始化初始化返回对象的返回语句中
std::vector<int> foo(int a, int b)
{
    return {a, b};
}
Run Code Online (Sandbox Code Playgroud)

  • 注意:C++ 有[很多初始化选项](https://en.cppreference.com/w/cpp/language/initialization)。熟悉它们符合您的最大利益,这样您就可以为特定的工作挑选最好的。有时,这些选项会变得[噩梦](https://www.youtube.com/watch?v=7DTlWPgX6zs)。 (4认同)