在 Java 中,所有类都是真正的引用,我这样做:
Car getCar(int mileage)
{
Car car = new Car();
car.setMileage(mileage);
return car;
}
在 C++ 中,我该怎么做?我可以将其放入参考:
void getCar(int mileage, Car& car)
{
car.setMileage(mileage);
return true;
}
或者,我可以创建一个新对象:
Car* getCar(int mileage)
{
Car* car = new Car;
car.setMileage(mileage);
return car;
}
但是,调用者也负责删除car
.
我不想返回一个指针。我要还车:
Car getCar(int mileage)
{
Car car;
car.setMileage(mileage);
return car;
}
但是,当然,car
是一个局部变量,一旦函数完成,它将被删除。
通常这样做的“标准”方式是什么?哪个是最好的方法,为什么?