Katı takma ad kuralı (Strict aliasing)
C ve C++’ta bir nesnenin yalnızca oluşturulduğu türle uyumlu bir tür üzerinden okunabileceğini söyleyen kural. İhlal edince kod optimizasyonsuz çalışır, optimizasyonla çöker.
Derleyici için kazanç büyüktür: bir int göstericisiyle bir float göstericisinin asla aynı belleği işaret etmediğini varsayabildiğinden değerleri yazmaçlarda tutabilir, döngüleri vektörleştirebilir ve okumaları serbestçe yeniden sıralayabilir. Bu varsayım olmazsa yabancı göstericiyle yapılan her yazma her şeyi değiştirebilir sayılmak zorundadır. Bedeli, bit desenlerini gösterici dönüşümüyle yeniden yorumlayan tüm kod öder; 1990’ların C’sinde olağan olan bu kalıp sinyal işleme ve serileştirme kodunda hâlâ yaygındır. Belirti kendine özgü ve sinir bozucudur: hata ayıklama derlemesinde her şey çalışır, optimize derlemede yanlış sonuç çıkar. Yasal yollar: memcpy, C’de union ve modern C++’ta bit_cast. Linux çekirdeği ise kuralı kapatarak derlemeyi seçmiştir.