C++ Idioms | Attorney Client Idiom - 1

C++ için önemli idiomlardan biri de Attorney Client Idiom olarak isimlendirilen idiomdur. Temel olarak nesne yönelimli programlamanın önemli ilkelerinden birisi olan encapsulation'ı bozabilecek durumları ortadan kaldırmak için geliştirilmistir. Encapsulation ilkesinin temeli verinin bütünlüğünü...

CTAD (Class Template Argument Deduction)

CTAD (Class Template Argument Deduction); template fonksiyonlara ilişkin deduction guide line gibi sınıflar için de benzer şekilde C++17 ile standartlara gelmiştir. Bu sayede sınıflara ilişkin doğrudan explicit olarak belirtmeye gerek kalmadan bu görevi de compiler' a havale edilmesi sağlanmıştır. Ve...

C++ Style Guide | AAA (Almost Always Auto)

Modern C++'ile birlikte soldan sağa doğru bir bildirim stilinde değişme görülmeye başlanmıştır.Bu değişimin sebebi C++11 ile gelen auto anahtar sözcüğüdür. Bu değişim artık bildirimlerin sol tarafinda sadece auto' nun yer almasını ve diger tüm bildirimleri sağ tarafa aktarmak  şeklinde...

Metaprogramming | basic implementation of std::is_integral

std::is_integral metaprogramming sırasında verinin bir türe ait olup olmadığına ilişkin kısıtlama yapılmak istendiğinde kullanılan bir araçtır.Yukarıdaki 26 satırdaki ifadeden dolayı aşağıdaki gibi compile sürecinde static_assert hatasına neden olacaktır.Bu satırı kaldırırsanız aşağıdaki gibi bir çıktı...