3
サイズ0の動的配列へのポインタの増分は未定義ですか?
AFAIK、ただし、サイズが0の静的メモリ配列を作成することはできませんが、動的配列を使用して作成できます。 int a[0]{}; // Compile-time error int* p = new int[0]; // Is well-defined 私が読んだpように、1つの最後の要素のように動作します。p指すアドレスを印刷できます。 if(p) cout << p << endl; イテレータ(最後の要素)ではできないので、そのポインタ(最後の要素)を逆参照できないことは確かですが、そのポインタをインクリメントするかどうかはわかりませんp。イテレータのような未定義の動作(UB)ですか? p++; // UB?