(第12章)、デフォルトで動的に割り当てられるオブジェクトはデフォルトで初期化されますか? C++プライマー5で
は、動的に割り当てられたオブジェクトは、内蔵または化合物のタイプのオブジェクトが値を不定していることを意味する、デフォルトの初期化されています。
int *pi = new int; // unitialized int
この文では、デフォルトの初期化時に内蔵されたタイプのオブジェクトが値を未定義たことを示しています。ただし、の既定の初期化組み込み型オブジェクトの動作は、定義されている場所によって異なります。
具体的には、任意の関数の外にある組み込み型オブジェクトは、0
となりますが、一部のブロック内の組み込み型オブジェクトは、未定義の値を持ちます。
が、私はこれを正しく理解しています初期化
デフォルト=未定義値:!そこで
、私は上記の文は、ビルトインタイプのため、正確ではないと思いますか?
グローバル変数とローカル変数は、コードを実行しているどのデバイスでも同じメモリにありません。局所的に割り当てられた変数はヒープ上にあり、グローバル変数はヒープで区切られているので、ゼロに初期化されているように見えます。しかし、それは少しの知識だけで推測している。 –