我只是想知道哪种更好的方法可以返回一些函数或类实例的结果?
1)
FN() {
var result = callSomeFN();
return result;
}
InitClass(int typeId): MyClass {
MyClass class = new MyClass(typeId);
return class;
}
2)
FN() {
return callSomeFN();
}
InitClass(int typeId): MyClass {
return new MyClass(typeId);
}
答案 0 :(得分:1)
我在这里看到的唯一区别是变量的声明。我不会说一个比另一个好。如果变量永远不会被使用,为什么还要定义它呢?回来吧。
我想如果你真的想要挑剔它将取决于你是否返回一个值或引用类型。如果它是一个引用则没关系,因为你要在内存中存储一些东西并返回一个指针(变量和返回值都只是指向相同内存空间的指针)。如果它是值类型,它将最终复制值并在函数范围内处理该版本。如果从未使用变量,为什么要创建一些只是为了销毁它?默认行为是高度语言相关的,您没有指定。