Ana içeriğe atla

Kayıtlar

cpp etiketine sahip yayınlar gösteriliyor

Pointerlar ile Dinamik Bellek Yönetimi

  #include <iostream> using namespace std; /* int main()  { //Pointer_New_Delete ile Dinamik bellek yönetimi // dinamik olarak yer tahsis edilmesi ve tahsis edilen yerin silinmesi // ram de ayrılmış olan alanın işi bittikten sonra ayrılmış olan yerin ram den silinmesi // Neyi ifade eder !! pointer ile işlenen veri silinmez ise ayrılmış olan yer ram de yer tutmaya devam eder // Sonraki gelen yeni verilere yer açılması için delete komutunu kullanmalıyız // Aksi taktirde yeni gelen veriler ramde yeni yerler tutacağından ramin şişmesine yol açar // Ram de biriken veriler ramin çökmesine sebep olmasın diye ayrılmış yerin boşaltılması delete ile gerçekleşir. int *ptr = new int; *ptr = 5; cout << *ptr << endl; delete ptr; // kod bloğunun görevi bittikten sonra kullanılmalı ptr = NULL; // *ptr değişkenimizin ayrılmış olan alanın artık boş olduğu anlamına gelir if (ptr != NULL) // ptr değişkenimizin içeriği boş değilse ekrana yazdır { // p...

Pointerların Kullanımı

  Referencing ( & ): Bir değişkenin adresini almak (Adres sormak). Dereferencing ( * ): Adresteki değere ulaşmak (Kapıyı çalıp içeri girmek). Sanal Tablo'da adres değerleri örnek ram adresleri olarak verilldi. int değişkenleri 4 byte ramde yer kaplar örneğin adress 1000 ise int değişkenin sonraki adres değeri 4 byte artacağından 1004 1008 1012 şeklinde "Memory Alignment" (Bellek Hizalaması) ramde artarak yol alır. Pointerların Fonksiyonlardan farkı :  Fonksiyonlar pointerlara göre daha yavaş çalışır  "kopyalayarak" (Call by Value) alması ve anlık hesaplamaları pointerlar kadar kısa sürede hesaplayamaz. Pointerlar  "pointer/referans kullanarak" (Call by Reference) alması doğrudan RAM CPU aracılığı ile saniyede yüzbinlerce hesaplamayı yaparken fonksiyonlar bukadar büyük hesaplamaları pointer kadar hızlı yapamaz. Pointer ramda yer tutuculuğu özelliği sayesinde hesaplamaları doğrudan yapıp sonuca varır. Fonksiyonlar kendi içinde değişkenleri hesapl...

C++ try catch, Call by Value, Call by Referans Kullanımı

  #include <iostream> using namespace std; //int main()  //{ // int bolunen, bolen; // cout << "Lutfen bolunen sayiyi giriniz : "; // cin >> bolunen; // cout << "Lutfen bolen sayiyi giriniz : "; // cin >> bolen; // // int sonuc; // // try{ // if (bolen == 0) // throw 99;//Burada throw için herhangi bir tam sayı girilir.örn: negatif sayılar gibi durumlar için çoğaltılabilir // sonuc = bolunen / bolen; // // cout << "Sonuc : " << sonuc; // } // catch(int hataKodu){ // cout << "Bolen sayi sifir olmamali !!" << endl; // } // // cout << endl; // return 0; //} /* try catch Kullanımı :  * try catch kullanıcının beklenmedik bir girdi vermesi sonucu  * programın çökmesini engllemek amacı ile kullanılır * Ayrıca veri tabanı bağlantılarında bağlantının olmaması ve  * işlem sonrasında veri tabanı bağlantısını kapatma veya programın başlangıcında bağlantıyı a...

C++ Algoritma ve Hız Testleri Uygulaması

  #include <iostream> #include <string> #include <cmath> #include<chrono>//Algoritmalar arasında performans hızını test etmede kullanılır using namespace std; /* Algoritma Alıştırma * Kullanıcıdan tam sayı değeri alınız * Kullanıcının 1'den girdiği sayıya kadar tüm asal sayıları bulunuz * örn : Kullanıcı 100 girdi ise : Tüm asal sayıları bulunuz * asal sayı sadece kendisine ve 1'e bölünebilen sayıdır. */ /* int main()  {  int sayi; cout << "Lutfen bir sayi giriniz : "; cin >> sayi; for (int i = 1; i <= sayi; i++) //1 asal sayı kabul edilmez : Hersayının kendine bölümü 1 dir. { //if (i == 1) continue; //1 asal sayı kabul edilemdiğinden contiune ile devam ettirebiliriz.Yada int i=1 yerine 2 diyebiliriz //Yani bir sayının bölümünden kalan 0 (sıfır) olmalalıdır. int sayac = 0; //girilen sayılar içinde kalan sıfır ise sayac herzaman sıfırlanır ve bir artar sonraki sayıyı hesaplamak için for (int j = 1; j <=...

C++ ile string işlemleri

  #include <iostream> #include <string> //Başka ideler yada işletim sisteminde hata almamak için dahil edilmeli using namespace std; int main()  {  //C++ ile string işlemleri // length() ile uzunluk karakter sayısını bulma  // eğer string içinde boşluk var ise onuda karakter olarak hesaplar string meyve = "Elma"; cout << "Uzunluk " << meyve.length() << endl; cout << "ilk harf : " << meyve.at(0) << endl; //String'in ilk harfini bulma meyve.append(" suyu"); cout << "Append ile : " << meyve << endl;//meyve stringinin içine append yardımı ile " suyu" ifadesini eklemiş olduk //string birleştirme string yeni = meyve + " guzeldir"; cout << "Birlestirme : " << yeni << endl; //string den karakter alma, //elma suyu güzeldir 'in içinde find yardımı ile aradı npos ile kaçıncı pozisyonda (10) da olduğu...