この質問では、OP は、動的に作成されたオブジェクトの参照を返す関数のアイデアを探ります。
intArray& createArray()
{
intArray *arr = new intArray(10000, 0);
return(*arr);
}
答えは、これがコンパイルされても、関数を使用しているプログラマーを混乱させるということです。関数が参照を返すとき、その参照の「ユーザー」はそのメモリ管理に責任を負わないことが予想されるため、彼は混乱するでしょう。
ポインターを返す API メソッドがたくさんあることに気付きました。それは、それらが不要になったときに、それらをクリアする (オブジェクトを削除し、ポインタを NULL に設定する) 責任があることを意味しますか?