Satır İçi ve Makro Arasındaki Fark

Satır İçi ve Makro

C ++ bugünlerde bilgisayar programlama alanında çok ileri gitti. Güçlü bir dil olduğundan, devasa işlev kütüphanesi nedeniyle programcılar için bazen biraz kafa karıştırıcı olur. Satır içi işlev, dilde makrolarla kolayca karıştırılabilen bunlardan biridir..
İkisi arasında küçük bir fark olması değil, ancak sahip oldukları özellikler nedeniyle biraz kafa karıştırıcı olabilirler. Bu yazıda, satır içi işlev ve makrolar arasındaki farklılıklar hakkında daha fazla tartışacağız.++.

Çizgide
Satır içi işlev, C ++ 'daki diğer işlevlere benzer ve normal şekilde de çağrılır. Gerçekleştirdiği işlev, derlenmiş işlev tanımının bir kopyasını oluşturmasıdır. Yani, derlenecek tanımlı öğelerin bir kopyasını oluşturur. İki tamsayı ekliyor ve satır içi işlev olarak adlandırıyorsak, derleyici derlenecek tamsayıların bir kopyasını oluşturur.
Misal:

Satır içi int sum (int x, int y)

Dönüş (x + y);

Makro
C ++ 'da makrolar, bir program satırında metin değiştirme uygular. Yani, işlevde tanımlanan değişikliğe göre metni değiştirirler. Satır içi bir işlev olarak aksine, makro bir işlevi kullanarak kodu değiştirir. Örneğin:
#define ÇİFT (X) X * X

int y = 5;
int j = ÇİFT (++ y);

Burada, değeri 30 olarak alacağız! Çağrı bir makro aracılığıyla yapıldığından “X” yerine ++ y ile ++ y'nin başka bir ++ y ile çarpılmasını sağlar. Bu 30 değil 6 olmak üzere toplam 5 * 6 yapar. Altı temel ama yanlış cevap olacaktır.

Şimdi, makrolar burada hataya neden oluyor olabilir. Böylece, değerleri bir derleyici belleğine kopyalayıp derleyerek bir satır içi işlev kurtarmaya gelir..

Özet:

Satır içi işlev, işlev tanımının bir kopyasını oluşturur.
2. makro, işlev içinde tanımlanan ve tanımlanan metni değiştirir.
3.Bir makro programda hataya neden olması gerektiğinde satır içi işlev de uygulanır.