2016-03-19 3 views
0

私はちょうどクラスのインスタンスまたは関数のいくつかの結果を返すためのより良い方法は疑問に思った?クラスのメソッドやインスタンスの結果を返すのに適しているのはどちらですか?なぜ?

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

ありがとうございました。私が訴えている言語、Javascript、PHP、C#。私はそれが#2を使用してより良いと思っていたが、私はそれが使用することが大丈夫であることを確認したい:) –

関連する問題