C/C++ コードのプログラミングの専門家の皆様、こんにちは。
このコードに出くわしましたが、2 つの関数が何を返しているのか混乱しています。
親切な魂が私を助けてくれますか?
私はコードを可能な限り一般的で他の人にとって有用なものにしようとしました.
ClassA*& func1() {
static ClassA* mClassA;
return mClassA;
}
ClassA* func2() {
ClassA*& mClassA = func1();
if(!mClassA) {
... // omitted some code that fill mClassA with data.
}
return mClassA;
}
[編集] また質問したいのですが、func1() と func2() の *& は互いに打ち消し合っていますか?