<分区>
我一直在用java 但最近我不得不切换到 C++,我对一些不同的事情感到困惑。 我的问题是, 在 Java 中,
class Ex
{
public static void main(String[]args){
Ex e = func();
}
static Ex func(){
Ex ee = new Ex();
ee.x = 1;
ee.y = 2;
return ee;
}
}
class Ex
{
int x;
int y;
}
e 和 ee 相同。
但是在c++中,
vector<int> func()
{
vector<int>a;
a.push_back(1);
a.push_back(2);
return a;
}
int main()
{
vector<int>aa = func();
}
在这种情况下,a 和 aa 是一样的吗?? 如果不相同,每次我想返回 vector 时,它是否总是复制到调用区域?