top of page


C++ Dilinde function try block / Function Try Block ile Ctor Exception Yönetimi: Kurallar, Tuzaklar, Örnekler
Problem: Constructor gövdesindeki try-catch, member init exception’ını yakalayamaz class Member { public : Member(); Member(int); }; class Data { public : Data() : mx(1) {} private : Member mx; }; int main() {} /******************************************* AÇIKLAMA : Data() kurucu işlevi(constructor) çalışırken önce mx(1) oluşturulur. Eğer Member(int) belirli koşulda exception throw ederse “ben Data() gövdesinde try-catch ile yakalarım” düşüncesi gelir. Ama constructoror g

Yusuf Hançar
Dec 29, 20254 min read


C++ Dilinde std::range
C++20 ile gelen Ranges Library, standart algoritma ve iterator kütüphanelerinin doğal bir evrimidir. Temel amaç, algoritmaların daha okunabilir, daha güvenli ve birbirine zincirlenebilir (composable) şekilde kullanılmasını sağlamaktır. Klasik STL algoritmalarında begin() ve end() çağrılarını manuel vermek gerekirken, ranges ile koleksiyonun kendisi doğrudan algoritmaya geçirilebilir. Böylece hem hata olasılığı azalır hem de kodun niyeti daha net ifade edilir. Ranges ayn

Yusuf Hançar
Dec 27, 202567 min read


C++ Dilinde std::span / std::range
std::span: non-owning view (C++20) ve extent (static/dynamic) modeli C++20 ile eklenen std::span, contiguous (bitişik) bellek blokları için string_view’ın genelleştirilmiş hâlidir: “pointer + length” şeklinde non-owning bir görünüm sağlar. std::span<T, Extent>: bitişik (contiguous) eleman dizisini sahip olmadan (non-owning) gösteren bir view. Tipik temsili: dynamic extent → T* + size (çoğunlukla 2 word) static extent → sadece T* (çoğunlukla 1 word) (Gerçek sizeof platfo

Yusuf Hançar
Dec 26, 202511 min read
bottom of page


