関数内にオブジェクトを定義しました。
SoundFXSystem* Engine::GetSystem(){
SoundFXSystem system; // var defined inside a function
sEngine->GetSystem(&system);
return &system; // can I return the address of the var?
}
var のアドレスを返し、後でプログラムで使用することは合法ですか? 関数が終了するとすぐに範囲外になり、呼び出し元が使用できなくなりますか?
編集:オブジェクトを次のように定義すると、動的に割り当てられますか?
SoundFXSystem* Engine::GetSystem(){
SoundFXSystem* system = new SoundFXSystem(); // var defined inside a function
sEngine->GetSystem(&system);
return system;
}