Category: CPP

  • Basics

    Basics

    History Basic Concepts Programming Languages Compiler Linker IDE Installation Hello World!

  • consts

    consts

    const keyword’ü bir değişkenin daha sonradan değiştirirmesini önlemek için kullanılır. External A const global variable has internal linkage by default. If you want the variable to have external linkage, apply the extern keyword to the definition, and to all other declarations in other files: https://learn.microsoft.com/en-us/cpp/cpp/extern-cpp?view=msvc-170 TOP & LOW – LEVEL CONST https://stackoverflow.com/questions/7914444/what-are-top-level-const-qualifiers constexpr Derleme zamanında çalışan(evaluate) ifadelere Constant expression…

  • Command

    Command

    Command is a behavioral design pattern that turns a request into a stand-alone object that contains all information about the request. This transformation lets you pass requests as a method arguments, delay or queue a request’s execution, and support undoable operations.

  • Builder

    Builder

    Tanım Birçok parametrenin ayarlanması gereken bir sınıfı oluşturmak için karmaşık constructorlar kullanmak yerine daha esnek yardımcı bir sınıf kullanmak. C++ implementasyonu

  • Singleton

    Singleton

    Tanım Creational Design Pattern’dır. Programımızda sadece ve sadece 1 tane bulunmasını istediğimiz nesneler için bu kalıbı kullanıyoruz. Bunu yapmak için sınıfın constructor’ını gizleyip statik bir method üzerinden statik bir pointer aracılığıyla nesneye erişiyoruz. C++ implementasyonu Daha fazla kaynak https://refactoring.guru/design-patterns/singleton

  • CPP Pointerlar
  • CPP Struct Giriş

    CPP Struct Giriş

    3 boyutlu uzayda noktalar oluşturmak isteyelim. Bunun için 3 tane int türünden değişken kullanabiliriz (ya da float). 10 tane nokta tutmak istiyorsak 30 tane integer değişkeni oluşturmamız gerekir. Array üzerinde tutmak istersek 3 tane farklı array oluşturmamız lazım. Bir array her noktanın x koordinatını öteki iki array ise y ve z koordinatlarını tutacak. Bunun da…

  • CPP Multi Dimensional Array

    CPP Multi Dimensional Array

    Şuana kadar kullandığımız arrayler tek boyutluydu. Yani indekslerini temsil ederken tek bir sayı kullanıyoruz. 5. elaman 10. eleman 1. eleman gibi. Lakin farklı zamanlarda bu bizim için yeterli olmamaktadır. Örneğin bir resim için 3 boyuta ihtiyacımız var. İlk iki boyut satır ve sütun için gerekliyken 3. boyut r,g,b için gereklidir. Yukarıda 2 boyutlu bir array…

  • CPP Range-based for loop

    CPP Range-based for loop

    for döngüsüne benzer bir yapı. Daha pratik bir kullanıma sahip. Sıralı bir container üzerinde baştan sona tek tek elemanları getirir. Genel yapısı şu şekildedir burada vec içindeki değerler baştan sona tek tek kopyası oluşturulup i ye atanıyor kopyasını oluşturmak istemiyorsak & kullanmamız lazım Örnek:

  • CPP Vector

    CPP Vector

    Standart kütüphanenin içinde olan array işlevi gören çok işlevli bir yapıdır. Bu yapının boyutu değişkendir. Büyüyüp küçülebilir. Bellekte ardışık bir şekilde tutulabilir. Boyutunu size() fonksiyonuyla öğrenebiliriz. Bu yapıyı kullanmak için öncelikle include etmemiz lazım: Bu yapıyı farklı veri türleriyle kullanabiliriz. Kullanmak istediğimiz veri türünü <> arasına yazıyoruz: Fonksiyonlarına bakalım. Örnek 1: Örnek 2:

  • CPP Array Giriş

    CPP Array Giriş

    Şuana kadar oluşturduğumuz değişkenlerimizi hep 1 değer tutuyordu. Örneğin int i = 5; dediğimizde i değişkeni sadece 1 tane sayı değerini tutabiliyor. Kod yazarken genelde tek bir değerle değil bir değerler dizisine ihtiyacımız olur. Bu tip durumlarda array kullanıyoruz. Array bellekte sıralı bir şekilde tutulur. İndeksi (yani sıra numarası) 0 dan başlar. Örnek: array’in ismi…

  • CPP Fonksiyonlara Giriş

    CPP Fonksiyonlara Giriş

    Çok kullanışlı bir yapı olan fonksiyonlara kısa bir giriş yapacağız. Fonksiyonlarımız, tekrar tekrar kullanabileceğimiz kod bloklarıdır. Bir kodu tekrar tekrar yazmak yerine bir fonksiyon yazıp her seferinde o fonksiyonu çağırıyoruz. Bu fonksiyonun ilk kullanım sebebidir. İkinci sebebi ise kodu anlamlı parçalara bölmektir. Şuana kadar 50-100 satırdan fazla kod yazmadık bu sebepten dolayı hepsini main fonksiyonuna…

  • CPP Do-While

    CPP Do-While

    While döngüsü gibi tek farkla. do while bloğu içinde yazılı olan şeyler ne olursa olsun 1 kere çalışır. Aşağıdaki while döngüsü çalışmayacaktır. Sonuç olarak ekrana hiçbir çıktı alamayacağız. Do while da ise bir kere ekrana çıktı verip döngüden çıkacaktır. do-while döngüsünün eş değeri şu ifadedir farkettiyseniz aynı kod satırını iki kere yazdık. Bu da istenmeyen…

  • CPP Break&Continue

    CPP Break&Continue

    Döngülerde çok işimize yarayacak iki ifade. Bu ifadeler döngünün akışını kontrol etmemize yarayacak. Yaptıkları iş çok basit Break ifadesi döngüden çıkar. Yani break ifadesi çalıştığında o döngü bir daha çalışmayacaktır. Break kelime anlamı olarak “kırmak” anlamına geliyor. Yani döngüyü kırıp çıkıyorsunuz. Continue ifadesi bir sonraki iterasyondan devam eder. Yani continue ifadesi çalıştığında döngünün devamındaki ifadeleri…

  • CPP For

    CPP For

    While döngüsü gibi ama daha pratik. Bir şeyi N kadar tekrar etmek istiyorsak bu döngüyü kullanırız. Aynı işlemi while döngüsüyle de yapabiliriz lakin daha fazla uğraşmak gerekir. [0,10) aralığındaki sayıları yazdırmak isteyelim: for kelimesinden sonra 3 tane yazabileceğimiz alan var alan1′ e genelde int i = 0; gibi değişken tanımlamalarımızı yapıyoruz. Bu tanımlamalar sadece for…

  • CPP Switch-Case

    CPP Switch-Case

    N tane durumdan bir tanesi seçmek için kullanıyoruz. Zar attık 1 geldiğinde farklı bir kod, 2 geldiğinde farklı bir kod, …, 6 geldiğinde farklı bir kod çalışsın istiyoruz. Bu tip durumlarda switch case yapısını kullanıyoruz. Aşağıdaki örnekte verilen ay numarasına göre ayın ismini yazan bir kod yazdık. Örneğin 1 verdiysek Ocak, 2 verdiysek Şubat ……