Merhaba sevgili yazılımperver dostlarım, bu yazımda sizler ile bir video paylaşıyor olacağım (uzun süredir paylaşmadığımı fark ettim de). Video’nun konusu “Rule of Five”. Modern C++ öncesinde de (C++ 11 öncesi), bunun muadili olan “Rule of Three” bulunmaktaydı. Neydi bu kural, isterseniz önce ona bir bakalım: “If a class defines any of the following then it… Continue reading
Post Category → Modern C++
Haftalık C++ 60 – “Big Four”
Merhaba sevgili yazılımperver dostlarım, öncelikle hepinize 2024 yılında sevdiklerinize mutlu bir sene geçirmenizi diliyorum 🙂 Uzun süredir uEngine4 ile ilgili yazılar paylaştıktan sonra C++ maceramıza dönmenin vakti geldi. Elbette, uEngine’e ilişkin paylaşacağım daha bir çok konu var ama ufak bir ara vermekte bir sakınca yok sanırım. C++ 11, 14, 17’ye ilişkin bir çok konuya bakmış… Continue reading
uEngine4 Serüveni – BasicGLPainter – II
Evet dostlar, GLPainter sınıfımızın kalan kabiliyetlerine bakma vakti geldi. Bu yazımızda aşağıdaki yazılarda eksik bıraktığımız konulara değinerek, GLPainter’ı sizlerin kullanımına sunuyorum. uEngine4 Serüveni – Giriş (Painter Sınıfları) uEngine4 Serüveni – BasicGLPainter – I Bir önceki yazımda GLPainter ile metin gösterimi ve resim çizmeye yönelik kabiliyetlere değinmiştik. Şimdi, kalan hususlara değinelim. Bunlardan ilki dönüşümler, diğeri ise… Continue reading
Haftalık C++ 59 – Linux C/C++ Uygulamalarında Yığın (“Stack”) Boyutu Ayarlama
Evet sevgili yazılımperver dostlarım, yazımın başlığından da anlaşılacağı üzere, bu yazımda çok spesifik bir konu üzerine eğileceğiz. Daha önceki yazılarımda heap ve stack belleklerinden bahsetmiştim (umarım 🙂 ) Kabaca, uygulama içerisinde, heap, new/malloc ile alınan bellek alanları için kullanılırken, stack ise tanımladığınız yerel değişkenler, iç içe çağırdığımız fonksiyona ilişkin bir takım veriler için kullanılan bellektir… Continue reading
Haftalık C++ 58 – std::vector İpuçları
Merhaba sevgili yazılımperver dostlarım, bu kısa yazımda, günlük kodlama hayatınızda (nasıl terminoloji 🙂 ) std::vector’e ilişkin dikkatinizden kaçabilecek ufak tefek ipuçlarına değineceğim. Bunları aynı zamanda bir hatırlama egzersizi olarak da görebilirsiniz. İlk olarak std::vector yapıcısına göz atalım.
1 2 3 4 5 6 7 8 9 10 11 12 |
// Asagidaki API cagrilari sonrasi elimizde; 0, 0, 0, 0, 0, 0, 1, 2 olur std::vector<int> instance(5); instance.push_back(0); instance.push_back(1); instance.push_back(2); // Asagidaki API cagrilari sonrasinda ise elimizde; 0, 1, 2 olur std::vector<int> instance; instance.reserve(5); instance.push_back(0); instance.push_back(1); instance.push_back(2); |
Yukarıda göreceğiniz üzere, std::vector yapıcısı, ilgili nesneyi verilen adet kadar 0 ile dolduruyor. Bu kabiliyet en çok… Continue reading
uEngine4 Serüveni – BasicGLPainter – I
Evet sevgili dostlar daha önce bahsettiğim OpenGL tabanlı Painter sınıfının eksikliklerini tamamlayıp, elini yüzünü düzelterek sizlere sunmaktan büyük mutluluk duyuyorum. Bu yazımda sizlerle, SDLPainter ile aynı mantığı içeren fakat tamamen OpenGL API’sini kullanan BasicGLPainter kütüphanesini paylaşıyor olacağım. Aslında aşağıdaki yazımda bunlara az çok değinmiştim, bu yazımda, ilave eklenen kabiliyetlere ve OpenGL’e değiniyor olacağım. uEngine4 Serüveni… Continue reading