🏫 Bu kurs C ve Sistem Programcıları Derneği tarafından düzenlenmektedir. 📅 Kurs 2 Şubat 2023 Salı günü başlayacaktır. ⏰ Dersler Salı ve Perşembe günleri 19.30
Online C++ Programlama Dili Kursu – 9 Ocak 2023
🎯 Bu kurs katılımcıların öncelikle C++ programlama dilini çok iyi öğrenmelerini ve yazılım üretiminde profesyonel düzeyde bu dili kullanma becerisi edinmelerini hedeflemektedir. 🏫 Bu
Online C++ Programlama Dili Kursu – 20 Ağustos 2022
🎯 Bu kurs katılımcıların öncelikle C++ programlama dilini çok iyi öğrenmelerini ve yazılım üretiminde profesyonel düzeyde bu dili kullanma becerisi edinmelerini hedeflemektedir. 🏫 Bu
verim, performans, veri yapıları ve algoritmalar
Verim (efficiency) ile performans (performance) sıklıkla birbiriyle karıştırılıyor. Verim bir görevin gerçekleştirilmesi için ne kadar iş yapıldığı anlamına geliyor. Yani aynı görevi gerçekleştirmek için ne
C++20 implicit this capture
C++20 standartları this göstericisinin örtülü (implicit) olarak yakalanmasını “deprecated” olarak belirliyor. C++23 standartları bu özelliği dilden tamamen kaldırılabileceğinden kullanmamakta fayda var. Aşağıdaki koda bakalım:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include <iostream> struct Nec { int mx = 5; // void func() { auto f = [=] {std::cout << mx; }; f(); // } }; int main() { Nec{}.func(); } |
Nec
modern c++ öğeleri
Aşağıdaki kodda C++11 ve daha sonraki standartlar ile dile eklenmiş araçları ve standart kütüphane öğelerini belirtebilir misiniz?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
#include <chrono> #include <random> #include <algorithm> #include <vector> #include <iostream> const auto benchmark = [](auto f) { const auto time{ std::chrono::steady_clock::now() }; f(); return std::chrono::steady_clock::now() - time; }; int main() { std::default_random_engine eng{ std::random_device{}() }; std::uniform_int_distribution dist{ 0, 1'000'000 }; std::vector<int> ivec(100'000); std::generate_n(ivec.begin(), 100'000, [&] {return dist(eng); }); auto f = [&ivec]() {std::sort(ivec.begin(), ivec.end()); }; auto tp = benchmark(f); std::cout << std::chrono::duration_cast<std::chrono::seconds>(tp).count() << "\n"; } |
std::any sınıfı
Öyle bir nesne olsun ki istediğimiz herhangi türden bir değeri tutabilsin. İstediğimiz zaman nesnemizin tuttuğu değeri herhangi türden bir değer olarak değiştirebilelim. C++17 standartları ile
C dilinde istenilen sayıda argümanla çağrılabilen işlevler (variadic functions)
Bir işlevin istenilen sayıda değerle çağrılması programlamada genel bir ihtiyaç ve programlama dillerinin çoğunda bu ihtiyacı karşılamaya yönelik araç ya da araçlar var. Özellikle
std::byte türü
C++17 standartları ile dile eklenen yeni türlerden biri std::byte. Yazdığımız programlar bellekteki byte’ları kullanıyor. std::byte türünün amacı bu bellek byte‘larını oldukları gibi temsil etmek. Burada
standart optional sınıfı
C++17 standartları ile standart kütüphanemizin bir eksiği daha tamamlandı. Artık bizim de bir optional sınıfımız var. Bu yazımızda std::optional sınıfını ayrıntılı olarak ele alacağız.