[diff.expr]/5 contains the following example:
void f() {
char *p = nullptr;
char *p2 = &*p; // well-defined in C, undefined behavior in C++
char *p3 = &p[0]; // well-defined in C, undefined behavior in C++
int a[5];
int *q = &a[5]; // well-defined in C, undefined behavior in C++
}
In C &p[0] gets translated to p+0 which is undefined in C23, though it is valid in C2Y because of N3322. Should the second comment be updated since C++ currently references C23?
[diff.expr]/5 contains the following example:
In C
&p[0]gets translated top+0which is undefined in C23, though it is valid in C2Y because of N3322. Should the second comment be updated since C++ currently references C23?