7
C ++で「オブジェクトを返す」方法は?
同じような質問がたくさんあるので、タイトルはなじみがあるように聞こえますが、問題の別の側面を求めています(スタックに物を置くこととヒープに置くことの違いを知っています)。 Javaでは、常に「ローカル」オブジェクトへの参照を返すことができます public Thing calculateThing() { Thing thing = new Thing(); // do calculations and modify thing return thing; } C ++では、似たようなことをするために2つのオプションがあります (1)オブジェクトを「返す」必要があるときはいつでも参照を使用できます void calculateThing(Thing& thing) { // do calculations and modify thing } 次に、このように使用します Thing thing; calculateThing(thing); (2)または、動的に割り当てられたオブジェクトへのポインタを返すことができます Thing* calculateThing() { Thing* thing(new Thing()); // do calculations and modify …