3
递增指向0大小的动态数组的指针是否未定义?
AFAIK,尽管我们无法创建大小为0的静态内存数组,但是我们可以使用动态数组来做到这一点: int a[0]{}; // Compile-time error int* p = new int[0]; // Is well-defined 如我所读,p行为就像一个过去的元素。我可以打印p指向的地址。 if(p) cout << p << endl; 尽管我确定我们不能像使用迭代器(过去元素)那样取消引用该指针(过去元素),但是我不确定是否要增加该指针p?是否像迭代器一样具有未定义的行为(UB)? p++; // UB?