哪个方法或类的实例返回结果更好?为什么?

时间:2016-03-19 01:31:03

标签: function

我只是想知道哪种更好的方法可以返回一些函数或类实例的结果?

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);
}

1 个答案:

答案 0 :(得分:1)

我在这里看到的唯一区别是变量的声明。我不会说一个比另一个好。如果变量永远不会被使用,为什么还要定义它呢?回来吧。

我想如果你真的想要挑剔它将取决于你是否返回一个值或引用类型。如果它是一个引用则没关系,因为你要在内存中存储一​​些东西并返回一个指针(变量和返回值都只是指向相同内存空间的指针)。如果它是值类型,它将最终复制值并在函数范围内处理该版本。如果从未使用变量,为什么要创建一些只是为了销毁它?默认行为是高度语言相关的,您没有指定。