Bu yazımda, C++ 17 ile gelen ve değişkenlerin tanımlı olduğu kapsamları kısıtlamamıza yardımcı olacak yeni bir kapsam mekanizmasından bahsedeceğim. Bildiğiniz gibi, tanımladığınız değişkenlerin kapsamlarını olabildiğince küçük olacak (yani geçerli olduğu kapsamı azaltmak) şekilde tanımlamak tavsiye edilen bir yöntemdir. Değişkenleri olabildiğince küçük bir kapsam içerisinde ve ilk kullanıma yakın tanımlayın. Peki neden? Her ne kadar çoğu… Continue reading
Posts Tagged → Modern C++
Haftalık C++ – 1 (“Erase-remove idiom”)
Merhaba sevgili Yazılımperver dostlarım. Bu yazım ile birlikte yeni bir yazı serisine (Haftalık C++) yelken açıyoruz. Bu yazılar, daha önce Modern C++ başlığı ile yoğun bir şekilde işlediğimiz C++ 11 yazılarına nazaran çok daha kısa kod parçaları veya konular içeriyor olacak. Bu kodların büyük kısmını, benim kullandığım kodlardan, ya da kitap veya internette gördüğüm kütüphane… Continue reading
Modern C++ (6) : Lambda İfadeleri
Evet arkadaşlar, C++ yazılarımıza kaldığımız yerden devam ediyoruz. Lambda yazım ile temel C++ 11 özelliklerini tamamlamış olacağız. Sonrasında belki STL için de bir yazı yazıp, daha sonra C++ 14/17/20’e yelken açabiliriz. Aslında oldukça geniş konu, fakat ben bu yazımda sizlere temel noktaları aktarmaya çalışacağım. Öncelikle benim gibi bilgisayar bilimleri ile uğraşanlarımız Lambda denilince hemen aklınıza… 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
Modern C++ (4) : Smart Pointers – II
Evet arkadaşlar akıllı işaretçiler serüvenimize devam ediyoruz. Bu yazımda akıllı C++11 ile gelen shared_ptr ve weak_ptr sınıflarını inceleyeceğiz. İlk yazıma aşağıdaki adresten ulaşabilirsiniz. Modern C++ (4) : Smart Pointers – I std::shared_ptr Akıllı işaretçi denildiğinde akla gelen ilk sınıf std::shared_ptr. std::unique_ptr’dan farklı olarak “reference counting” dediğimiz kabiliyeti barındıran, içerdiği nesnenin birden fazla sınıf tarafından kullanılmasına… Continue reading
Modern C++ (3): Uniform Initialization, override/final, default/delete, constexpr, vb.
Bir diğer Modern C++ yazım ile sizlerle birlikteyim 🙂 Önceki Modern C++ yazılarıma aşağıdaki bağlantılardan ulaşabilirsiniz. Modern C++ (1): nullptr, enum sınıfları, range-based döngüler, auto Modern C++ (2): C++ 11 Yenilikleri Bu yazımızda C++ 11 ile gelen yenilikleri incelemeye devam edeceğiz. C++11 ile gelen bütün yenilikler için yukarıdaki ikinci yazıma ulaşabilirsiniz. Bu yazımda diğer yenilikler… Continue reading