質問編集履歴

1

m

2020/11/24 15:56

投稿

yumetodo
yumetodo

スコア5850

test CHANGED
File without changes
test CHANGED
@@ -15,3 +15,7 @@
15
15
 
16
16
 
17
17
  上のようなコードがあるとき、変数`b`にたいしてなにか操作をしたらstrict alias rule違反となるのは明らかだと思われます。しかしながら`B* b = reinterpret_cast<B*>(&a);`の段階ですでに違反でUBなのかこの時点では大丈夫なのかわかりません。実際にアクセスが起こったときの型の問題と考えると大丈夫なような気もしてきます。
18
+
19
+
20
+
21
+ (コードの出処: [https://rinatz.github.io/cpp-book/ch08-01-cpp-casts/#reinterpret_cast](https://rinatz.github.io/cpp-book/ch08-01-cpp-casts/#reinterpret_cast))