Aracılığıyla paylaş


Makrolar ve C++

C++, bazıları ANSI C ön işlemcisi tarafından sunulanları destekleyen yeni özellikler sunar. Bu yeni işlevler tür güvenliğini ve dilin öngörülebilirliğini geliştirir:

  • C++ dilinde, olarak const bildirilen nesneler sabit ifadelerde kullanılabilir. Programların tür ve değer bilgilerine sahip sabitleri bildirmesine olanak tanır. Hata ayıklayıcısıyla sembolik olarak görüntülenebilen numaralandırmalar bildirebilirler. Sabitleri tanımlamak için önişlemci #define yönergesini kullandığınızda, bu o kadar kesin değildir ve tür açısından güvenli değildir. Program adresini alan bir const ifade içermediği sürece nesne için depolama alanı ayrılmaz.

  • C++ satır içi işlev özelliği, işlev türündeki makroların yerini alır. Makrolara göre satır içi işlevleri kullanmanın yararları şunlardır:

    • Tür güvenliği. Satır içi işlevler normal işlevlerle aynı tür denetimine tâbidir. Makrolar tür açısından güvenli değildir.

    • Yan etkisi olan bağımsız değişkenlerin doğru işlenmesi. Satır içi işlevler, işlev gövdesi girilmeden önce bağımsız değişken olarak sağlanan ifadeleri değerlendirir. Bu nedenle, yan etkileri olan bir ifadenin güvenli olma olasılığı yoktur.

Satır içi işlevler hakkında daha fazla bilgi için bkz . satır içi, __inline, __forceinline.

Geriye dönük uyumluluk için, ANSI C ve önceki C++'ta varolan tüm önişlemci özellikleri Microsoft C++ için korunur.

Ayrıca bkz.

Önceden tanımlanmış makrolar
Makrolar (C/C++)