Kanalımızda C++ dili ile ilgili faydalı kaynaklar, yurt içi ve yurt dışındaki iş ilanları, C++ dili ile ilgili gelişmeler paylaşılıyor. Kanalımıza üye olmak için
Yazar: Necati Ergin
Cpp Temel İlkeleri – enum türleri ve enum sabitleri
C++ Temel İlkeleri (CppCoreGuideLines) endüstride giderek daha fazla kabul görüyor. Bu ilkelere göre statik kod analizi yapan programların ya da eklentilerin sayısı giderek artıyor. Kişisel
_Bool türü
C dilini öğrenenlerin kafasını karıştıran noktalardan biri lojik veri türü. C 99 standartlarına kadar C’de bir lojik veri türü yoktu. Lojik veri türü yerine işaretli
positive lambda
C++ çok hızlı gelişen ve büyüyen bir programlama dili. Dile yeni araçlar eklendikçe dilin olanakları artıyor ve bunun sonucunda da yeni kodlama idiyomları ortaya
C++çalışma sorusu – 56 (lambda ifadeleri)
Aşağıdaki C++ kodunu açıklayınız:
1 |
int main(){(([](){{}})());} |
C biliyor musunuz?
C dilinin sözdizimine ne kadar hakimsiniz? Aşağıdaki kurallardan kaç tanesini biliyorsunuz? (Dürüst olun…) 1. Bir bildirimde const ya da volatile belirteçlerini birden fazla kez
C++çalışma sorusu – 55 (compile time Fibonacci)
C++11 öncesi araçları kullanarak Fibonacci serisinin n. teriminin derleme zamanında hesaplanmasını sağlayacak
1 2 3 4 5 |
template <unsigned int n> struct Fibonacci { static unsigned const value = expr; }; |
sınıf şablonunu oluşturunuz:
1 2 3 4 5 |
int main() { int a[Fibonacci<11>::value] = { 0 }; //... } |
Yukarıdaki main işlevinde a dizisinin boyutu Fibonacci
C++ çalışma sorusu – 54 (expression sfinae)
Aşağıda yer alan kodda, bir sınıfın begin isimli bir üye işleve sahip olup olmadığını “expression sfinae” tekniği ile sınayan has_member_begin isimli bir sınıf şablonu
C++ çalışma sorusu – 53 (type traits)
Şablon tür parametresi (T) olan türün Nec isimli bir içsel türe (nested type) sahip olup olmadığını sorgulayacak hasTypeNec isimli sınıf şablonunu kodlayınız:
1 2 3 4 5 |
template <typename T> struct hasTypeNec { //... static constexpr bool value = expr; }; |
Sınıfın
C++ çalışma sorusu 52 (variadic işlev şablonları)
Değişken sayıda argüman ile çağrılabilecek ve kendisine gönderilen argümanları tek bir std::string‘e dönüştürerek geri döndürecek tostring isimli variadic işlev şablonunun kodunu yazınız:
1 2 3 4 |
#include <string> template<typename ...Ts> std::string tostring(const Ts & ...args); |
Yazacağınız