Farz edelim ki, iki üyeden oluşan bir üye var a
ve b
aynı türden (ör. Int). Ben a
yazarsanAynı türdeki birleşik üyeler
union u{
int a,b;
char c;
};
, değerine göre bir işleve geçmek ve işlev a
ve b
aynı türde düşünüldüğünde, herhangi bir sorun olacaktır a
değeri elde etmek bekliyor b
okur? Üye üye tam olarak aynısını okumak için okur mu?
C11 taslağı N1548, herhangi bir sorun olmayacağını söyleyebilir. Emin değilim. Hala okuyor. Bir dipnot: “95) Birleşim nesnesinin içeriğini okumak için kullanılan üye, için kullanılan üye ile aynı değilse, nesnede bir değer depolayın, değerin nesne temsilinin uygun kısmı olarak yeniden yorumlanır. 6.2.6'da açıklandığı gibi yeni tipte bir nesne temsili (bazen '' tip punning '') olarak adlandırılan bir süreç. Bu bir tuzak temsili olabilir. ” – Ryan