C++ ile uygulama geliştirirken uygulamanın mümkün olan en hızlı şekilde yani gecikmenin en az olacağı şekilde çalışmasını isteriz. C ve C++ dillerini diğer dillerden ayıran en önemli avantajlardan birisi de zaten hızdır. Inline fonksiyonların da kullanılma sebeplerinden biri bize bu konuda sağladığı avantajlardır. Peki inline fonksiyon nedir? Normal fonksiyon tanımından ne farkı vardır? Normal bir […]
C++ sınıf yapılarında constructor tanımları, normal olarak implicit yapıdadır. Implicit yapıdaki constructor derleme zamanında conversion yapabilir. Bu durumu engellemek için constructor’ı explicit yapıda tanımlarız. Bu tanımla beraber explicit yapıdaki constructor, implicit conversion yapılmasını engeller. Bu durumu kod ile açıklayacak olursak, Kodumuzu inceleyecek olursak, constructor explicit tanımlandığı için showNumber(42) satırının hata verdiğini görebilirsiniz. Eğer constructor explicit […]
IOT cihazlar içerisinde yüksek pazar payı ve sağlamış olduğu imkanlarla Espressif firmasını duymayan yoktur. Firmanın uygun fiyatlı ürünleri günümüzde birçok projede kendine yer edinebiliyor. Ürünleri arduino tabanlı kodlama ile kodlayabildiğimiz gibi kendi sağlamış olduğu geliştirme ortamı ESP-IDF ile FreeRTOS da kullanarak kodlayabiliyoruz. Önceki yazımızda ESP-IDF nin nasıl kurulduğunu anlattık. Bu bölümde ve bundan sonraki bölümlerde […]
Return deyimi, fonksiyonun çağrıldığı yere bir değer döndürmek için kullanılır. Bu sayede fonksiyon içinde yapmış olduğumuz işlemler sonucunda geriye bir sonuç döndürebiliriz. Konuyu uzatmadan hemen örneği inceleyelim. Fonksiyona gelen data 11’e eşitse çağrıldığı yere “That is 11.” döndürür. Eğer eşit değilse “I don’t know.” döndürür. Peki void fonksiyonlarda return kullanabilir miyiz? Evet kullanabiliriz. Peki ne […]
Fonksiyonlar nedir? ve ne için kullanılır? sorularından bu dökümanının giriş yazısında bahsetmiştik. Bu bölümde bir fonksiyon nasıl tanımlanılır? Fonksiyon parametreleri nelerdir? Bir fonksiyon geriye nasıl değer döndürür? bunlardan bahsedeceğiz. Ama önce kısaca fonksiyon nedir? sorusunu tekrar açıklamak gerekirse fonksiyonlar, programı kendini idare edebilen daha küçük parçalara bölerek modüler olmasını sağlayan yapılardır. Fonksiyon tanımlamaya geçmeden önce […]
Karekter dizileri, char tanımlı diziler ya da genel olarak C-tipi karekter dizileri olarak bilinen dizilerdir. İşaretçi temelli bir yapısı olduğu için işaretçiler hakkında bilgi sahibi olmakta fayda vardır. Bu bölümde bir karekter dizisi nasıl tanımlanır? Nasıl değer eklenir? ve Nasıl ekrana yazdırılır? gibi sorulara cevap arayacağız. C-tipi karekter dizileri dediğimiz bu yapıların kullanımı beraberinde güvenlik […]
İşaretçiler ile const kullanmadan önce kısaca const ne demek ondan bahsedelim. Const, kısaca derleyiciye bir değişkenin değerinin değiştirilemeyeceğini bildirmemize yarar. Bu tanımlamada x’in değerinin 5 olduğunu ve değiştirilemeyeceğini anlarız. Const tanımından biraz da olsa bahsettik. Sıra işaretçiler ile const tanımını nasıl kullanabiliriz ona bakalım. Öncelikle kullanım şekillerini 4 ana başlıkta toplayabiliriz. Bunlar; Bu durumları bir […]
Bir işaretçiyi bir fonksiyona nasıl göndeririz? Bir değer ile göndermekle bir referans ile göndermek arasında ne gibi farklar vardır? Bu yazıda bu gibi sorulara cevap arayacağız. Bir değer ile fonksiyon çağırmak nedir? Bu paylaşmış olduğumuz kodda bir sayının karesini almak için yazmış olduğumuz fonksiyonun bize vereceği cevap 25 dir. Çok basit bir şekilde tanımlamış olduğumuz […]
Bu yazıda C++ için en güçlü yeteneklerden birisi olan işaretçilerden bahsedeceğiz. İşaretçiler aslında bir değişken tipidir ve içlerinde hafıza üzerindeki bazı adresleri saklarlar. Normal bir değişkenle tanımladığımız değeri bir işaretçi değişkene atarsak bu işaretçi değişken, atanılan değişkenin bellek üzerindeki adresini saklar. Bir işaretçiyi nasıl tanımlarız? Bir işaretçiyi tanımlamak için * işareti kullanırız. Derleyiciye, * işareti […]
Fonksiyonlar, kendini idare edebilen, kendi içinde işlemler yapan, bu işlemler sonucunda istenilirse çağrıldığı noktaya değerler dönen küçük modüler yapılardır. Fonksiyonlar, programı daha düzgün, daha kontrollü ve daha modüler hale getirir. Fonksiyonlar, yazılımcıyı kod tekrarından kurtarırlar. Fonksiyonlar hakkında detaylı ve önemli bilgiler öğrenmek için dökümandaki yazıları inceleyebilirsiniz.