Haftalık C++ 14 – std::optional

Merhabalar arkadaşlar, yeni bir haftalık C++ yazımız ile birlikteyiz. Bu yazımın konusu, C++ 17 ile birlikte dile dahil edilen std::optional yeteneği. Bu kabiliyete neden ihtiyacımız var, nerelerde kullanabiliriz gibi sorulara çeşitli kod örnekleri üzerinden giderek bakacağız. Bu yapı ile ilintili olarak std::variant ve std::any yapılarına da farklı yazılarımda değineceğim. O zaman hemen başlayalım ne dersiniz…. Continue reading

Haftalık C++ 7- std::thread (I)

Bir başka haftalık C++ yazısı ile tekrar beraberiz. Bu yazımda, sizlere C++ 11 ile birlikte sunulmaya başlanan bir kütüphane bilgi aktaracağım. Bu kütüphaneden daha önce tamamladığım Modern C++ yazılarımda bahsetmemiştim (neden diye sormayın), ama artık vakti geldi. Eminim geliştirdiğiniz programlarda, özellikle çoklu çekirdeğe sahip işlemciler için :), bir noktada buna ihtiyacınız olmuştur.  Evet, tahmin edebileceğiniz… Continue reading

Haftalık C++ – 4 Yapısal Bağlama (“Structured Binding”)

Merhabalar arkadaşlar, yeni bir haftalık C++ yazısı ile birlikteyiz. Bu yazımızda da modern C++ 17 ile birlikte gelen bir diğer kabiliyet olan “Structured Binding”‘e bakacağız. Ben yazımda buna kısaca “yapısal bağlama” diyeceğim. Bu kabiliyet bize ne kazandırıyor? Kısaca bu kabiliyet ile birlikte birden fazla değişkenin tek bir ifade ile “tuple”/”pair” ya da benzeri yapıları kullanarak… Continue reading

Modern C++ (5) : Taşıma Semantikleri

Evet bir diğer Modern C++ 11 ile yazımız ile tekrar birlikteyiz. Bu yazımızda C++ 11 ile gelen önemli değişikliklerden biri olan “Move Semantics” yani Taşıma Semantiklerinden sizlere bahsedeceğim. Bu konu da derya deniz bir konu. Bu yazımda sadece önemli hususların üzerinden geçip, genel mantığı sizlere aktarıp, kalanını naçizane sizlere bırakacağım 🙂 Daha lambda’lar var gardaşım… Continue reading