Cで
union u {
struct { int _0; int _1; } x;
struct { int _0; char _1; } y;
}
void f(void) {
union u hoge;
hoge.x._0 = 1;
int fuga = hoge.y._0;
}みたいなコードがあって、(xに代入した後にyにアクセスしてることろが)流石に未定義動作だろと思ったけど調べたら問題ないらしい。変なの。(仕様: https://port70.net/~nsz/c/c11/n1570.html#6.5.2.3p6)
Conversation
Notices
-
Embed this notice
そらお (sorao@misskey.m544.net)'s status on Saturday, 13-May-2023 00:09:03 JST そらお - めいめい likes this.