17.4.3.1.2 - Global names [lib.global.names] -1- Certain sets of names and function signatures are always reserved to the implementation:
Each name that contains a double underscore ("__") or begins with an underscore followed by an uppercase letter (lex.key) is reserved to the implementation for any use.
Each name that begins with an underscore is reserved to the implementation for use as a name in the global namespace.* [Footnote: Such names are also reserved in namespace ::std (lib.reserved.names). --- end foonote]
class body { double *r[ny][nz]; public: body() { r = new double[nx][ny][nz] }; }; のようにメモリーを当てたときデストラクターはどのようにすればいいのでしょうか? delete [] r としてもうまくいかず・・・・ あとこの形は
class body { double ***r; public: r = new double** [nx]; for(int i=0;i<nx;i++) r[i]= new double* [ny]; for(int i=0;i<nx;i++) for(int j=0;j<ny;j++) r[i][j] = new double [nz]; }; のようにメモリーを当てるのと同じ意味なんでしょうか? 長くてすいません。
>>153 > 5.3.4(New)の15によると、Tが組み込み型(POD)の場合 > new T() だと初期化され、 new T だと不定値になるね。 > ()の有無が重要なんだなあ。 なるほど,148の疑問が分かりました. 私の環境でdouble *pd= new doubleが,常に0なのはオマケということですね.