在同一行 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 {};
这将创建一个匿名对象。
我有代码
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 {};
这将创建一个匿名对象。