q
に等しい
char* q = new char[1024]{};
に等しいchar
へのポインタです。つまり、タイプはchar *
です。
new char[1024]{}
の式を使用して初期化され、char
という配列を動的に割り当て、ゼロ初期化します。これが失敗すると、例外がスローされます。
q
は、動的に割り当てられた配列の最初のchar
を指します。これは配列ではありません。
それは
するchar * Q = [0,0、...] //と同じではない
すなわち無効な構文であるから1024まで。 q
はポインタであり、値の集合に初期化することができないので、それはまた、
char* q = {0,0,....}; // 1024 zeros in initialiser
と等価ではありません。これは、文字が、むしろ最初に初期化されていないし、その後ゼロで上書き(そして、もちろん、それが初期化方法をコンパイラ次第ですされているよりも、ゼロに初期化されていることを除いて
char *q = new char[1024]; // dynamically allocates chars uninitialised here
std::fill(q, q + 1024, '\0');
に(ネット)効果で接近していますキャラクター)。
'char * q'は' char'へのポインタです。 – melpomene