假设我有:
class SomeObject {
};
SomeObject& f() {
SomeObject *s = new SomeObject();
return *s;
}
// Variant 1
int main() {
SomeObject& s = f();
// Do something with s
}
// Variant 2
int main() {
SomeObject s = f();
// Do something with s
}
第一个变体和第二个变体之间有什么区别吗?任何情况下我都会使用另一种?
编辑:还有一个问题,这s
两种情况都包含什么?