有効なポインタがあるとしますp0
:
T a[10];
T* p0 = &a[0];
次のように安全にラウンドトリップキャストできることを私は知っています:
reinterpret_cast<T*>(reinterpret_cast<uintptr_t>(p0)) == p0;
しかし、次のことを行うのは安全ですか?
T* p1 = reinterpret_cast<T*>(reinterpret_cast<uintptr_t>(p0) + sizeof(T));
つまり、UBがないと確信できp1 == &a[1]
ますか?