Category: CPP

  • Fonksiyonlar

    Fonksiyonlar

    Şuana kadar kodlarımızı main fonksiyonunun içine yazdık. Şimdi işleri daha da kolaylaştırmak için başka fonksiyonlar yazacağız. ilk başta olayları daha karmaşık hale getirdiğimizi düşünebilirsiniz ama aslında kolaylaştırdık. gördüğünüz üzere fonksiyonları kullanmak kodumuzu daha uzun belki de daha karmaşık hale getirdi. Muhtemelen şuanlık yazacağımız çoğu ufacık programda fonksiyon yazmak bize büyük bir avantaj sağlamayacaktır. Fonksiyonel programlamanın…

  • Operators

    Operators

    operatörler aslında birer fonksiyondur. Sentetik şeker gibi davranırlar. 2 tane tam sayının arasında bulunan + bir operatördür. Arka plana bakarsak bu 2 sayı alan bir fonksiyondan başka bir şey değildir. Assignment Operator = Sağ taraftaki değeri sol taraftaki değişkene atar. Arithmetic Operators +, -, *, /, % Temel matematiksel işlemleri bu operatörlerle yapıyoruz. Compound assignment…

  • Döngüler

    Döngüler

    Aynı işlemi tekrar tekrar yapmak istiyorsak döngüleri kullanıyoruz. goto goto deyimi bir satırdan başka bir satıra atlamak için kullanılır. Aşağıdaki kodda loop: bir etikettir. Etikette farklı bir isim de kullanabiliriz. goto loop; ifadesin çalıştığında programımız etiketin bulunduğu satırdan çalışmaya devam edecek. goto deyimini yasak elma gibi düşünebilirsiniz. Evet goto yu kullanabilirsiniz ama bu devamında sizi…

  • Karar yapıları

    Karar yapıları

    Programımızdaki ifadeler normalde sırasıyla yukarıdan aşağıya doğru tek tek çalışır. Bazı durumlarda bu akışı bozmak, farklı satırlara yönlendirmek isteriz. Bunu gerçekleştirmek için çeşitli karar yapılarımız vardır. if, else, else if Eğer bazı kodların çalışması, bir koşulun varlığına bağlı ise if yapısını kullanıyoruz. “Eğer” anlamına gelir. Şimdi yapısını inceleyelim. if ten sonra 2 tane parantezimiz var.…

  • Merhaba Variables

    Merhaba Variables

    Şimdi ekrana bir şeyler yazdıralım Bunu daha kompakt bir hale getirelim daha da Şimdi ise isim değişkenine konsoldan yazacağımız değeri atayalım. Değişkenler, veri tutar. Bu veriyi bellekte saklar. Bilgisayarı en temelde 2 elemana indirgeyebiliriz. Bir işlemci(CPU), bir bellek(RAM) ve aralarındaki kablolar (bus) İşlemci, bellekten programı okur ve verilen komutlara göre veriyi manipüle eder. Verilerimiz bellekte…

  • Merhaba C++

    Merhaba C++

    Kurulum https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-170 İlk kodumuz Proje oluşturma Programı çalıştırma Bu template de karşımıza konsol ekranına “Hello World!” yazdıran bir uygulama geliyor. Eğer editörün üst tarafındaki yeşil play üçgenine tıklarsanız kod çalışacaktır. Türkçe karakterler ve encoding Yorum satırlarımızda çeşitli Türkçe karakterler kullandık (ş,ı,ü,ö, gibi). Kodumuzu çalıştırdığımızda aşağıdaki gibi bir pencere gelebilir. Burada bu karakterlerin şuandaki formatta kaydedilemeyeceğini…

  • Hello Variables

    Hello Variables

    In previous lecture we use our first variable std::string name = “C++”; and std::string greeting Numbers We can store our text data inside string. If we want to store a number we can use int or float int use 4 byte of memory and also float use 4 byte of memory BUT integer holds integer…

  • Hello C++

    Hello C++

    Installation https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-170 Our first program This template gives you the code that will print “Hello World!” on the console screen. You can run program by clicking run button (green triangle on the top side of the screen) Now we can investigate the code: When we press the run button we will take this output: We…

  • 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…