我想知道下面的行为是否是未定义的
// Case 1:
int *p = 0;
int const *q = *const_cast<int const* const*>(&p);
// Case 2: (I think this is the same)
int *p = 0;
int const *const *pp = &p;
int const *q = *pp;
通过像读取int const*一样读取int*是不是未定义的行为?我认为这是未定义的行为,但我之前认为只有在一般情况下添加const才是安全的,所以我不确定。