在同一行 C++ 中声明一个变量并 return

Declare a variable and return it in the same line C++

我有代码

if(x>5){
vector<int> a;
return a;
}

但我很好奇是否有办法在一行中做到这一点 return,例如:

if(x>5){
return vector<int> a;
}

问题是 vector<int> a 只是创建了一个对象但没有 return 任何东西,而 vector<int>() return 是“匿名”新对象。

尝试:

return vector<int>();

这将按预期工作:

return vector<int>();

这会同时创建一个对象 returns。由于该对象尚未创建且没有任何名称,因此被称为 anonymous object.

因此您可以修改代码,而无需为变量分配名称,如下所示:

if(x>5){
return vector<int>();
}

你可以这样做:

return {};

这将创建一个匿名对象。