C++'ta Doğru Bildiğimiz Yanlışlar: Type Punning

Başlatan Tagli, 14 Haziran 2021, 23:49:59

Tagli

Geçenlerde denk geldiğim bir videoyu paylaşmak istedim. C++'ta Type Punning meselesini anlatıyor. Anlattığı bazı şeyler C için de geçerli.

Bildiğiniz üzere, gömülü yazılım işlerinde pointer'larla, byte'larla, buffer'larla falan epey uğraşıyoruz ve sıklıkla bunlar arasında dönüşümler yapmamız gerekiyor. Deyim yerindeyse, hayvan gibi casting yapıyoruz.

Aşağıdaki video uzun sayılır (1 saat) ama ufuk açacak nitelikte. C ve C++'ta kod yazarken sıklıkla yaptığınız bazı şeylerin aslında kurallara aykırı olduğunu ve şans eseri çalıştığını fark edeceksiniz. Dün yazdığınız kod son derleyici güncellemesinden sonra veya optimizasyon seviyesini arttırdığınızda çalışmıyorsa, muhtemelen bu türden bir hata yapıyorsunuz.

Gökçe Tağlıoğlu

brandice5

16 Haziran 2021, 03:15:58 #1 Son düzenlenme: 16 Haziran 2021, 03:17:50 brandice5
Videoyu izledim, günlük hayatta çok dikkat edilmeyen konulara değinilmiş güzel bir video. Videoyu izlerken hep C++ hakkındaki düşüncelerim canlandı :)
C++ da sürekli standartlarla birşeylerin kullanımını kısıtlıyor veya yasaklıyorlar ama sonra bir şekilde bu kısıtı aşacak yeni bir özellik ekliyorlar.
Yani kullanıcıları birşeylere zorlamak için bir tur dönüyorlar, sonra kullanıcıların bu kısıtları aşabilecekleri şeyleri implemente etmek için bir tur daha dönüyorlar.
Böyle böyle derken modern C++'ı iyice çorbaya çevirdiler :) ilk üç sürümü ben de desteklemiştim ama artık raydan çıktılar :)

Zaten son kısımdaki sorulardan anlaşılacağı üzere kendi aralarında da bir anlaşmazlık var. Birinin kullanmayın dediği şeye öbürü kullanın diyor :) öbürünün kullanmayın dediği şeyede diğeri kullanın diyor :) Bu C++'ın hali ne olacak bilmiyorum, C++ komitesinde yakın zamanda bir darbe olabilir :)

Yasal Uyarı: Picproje.org sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.Knın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Picproje.org hakkında yapılacak tüm hukuksal şikayetleri İletişim sayfamızdan bize bildirdikten en geç 3 (üç) iş günü içerisinde ilgili kanunlar ve yönetmelikler çerçevesinde tarafımızca incelenerek gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.