Kata kunci (C++)

Kata kunci adalah pengidentifikasi khusus yang telah ditentukan sebelumnya yang memiliki arti khusus. Mereka tidak dapat digunakan sebagai pengidentifikasi dalam program Anda. Kata kunci berikut dicadangkan untuk Microsoft C++. Nama dengan garis bawah dan nama terkemuka yang ditentukan untuk C++/CX dan C++/CLI adalah ekstensi Microsoft.

Kata kunci C++ standar

constinitc
continue
co_awaitc
co_returnc
co_yieldc
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
exportc
extern
false
float
for
friend
goto
if
inline

Kata kunci khusus __asm Microsoft menggantikan sintaks C++asm. asm disediakan untuk kompatibilitas dengan implementasi C++ lainnya, tetapi tidak diimplementasikan. Gunakan __asm untuk rakitan sebaris pada target x86. Microsoft C++ tidak mendukung rakitan Sebaris untuk target lain.

b Sinonim operator yang diperluas adalah kata kunci saat /permissive- atau /Za (Nonaktifkan ekstensi bahasa) ditentukan. Mereka bukan kata kunci saat ekstensi Microsoft diaktifkan.

c Didukung ketika /std:c++20 atau yang lebih baru (seperti /std:c++latest) ditentukan.

Kata kunci C++ khusus Microsoft

Di C++, pengidentifikasi yang berisi dua garis bawah berturut-turut dicadangkan untuk implementasi kompilator. Konvensi Microsoft adalah mendahului kata kunci khusus Microsoft dengan garis bawah ganda. Kata-kata ini tidak dapat digunakan sebagai nama pengidentifikasi.

Ekstensi Microsoft diaktifkan secara default. Untuk memastikan bahwa program Anda sepenuhnya portabel, Anda dapat menonaktifkan ekstensi Microsoft dengan menentukan /permissive- opsi atau /Za (Nonaktifkan ekstensi bahasa) selama kompilasi. Opsi ini menonaktifkan beberapa kata kunci khusus Microsoft.

Saat ekstensi Microsoft diaktifkan, Anda dapat menggunakan kata kunci khusus Microsoft di program Anda. Untuk kesamaan ANSI, kata kunci ini diawali oleh garis bawah ganda. Untuk kompatibilitas mundur, versi garis bawah tunggal dari banyak kata kunci yang digaris bawahi ganda didukung. Kata __cdecl kunci tersedia tanpa garis bawah terdepan.

Kata __asm kunci menggantikan sintaks C++ asm . asm disediakan untuk kompatibilitas dengan implementasi C++ lainnya, tetapi tidak diimplementasikan. Gunakan __asm.

Kata __based kunci memiliki penggunaan terbatas untuk kompilasi target 32-bit dan 64-bit.

d Fungsi intrinsik yang digunakan dalam penanganan peristiwa.

e Untuk kompatibilitas mundur dengan versi sebelumnya, kata kunci ini tersedia baik dengan dua garis bawah terkemuka dan satu garis bawah terkemuka saat ekstensi Microsoft diaktifkan (default).

Kata kunci Microsoft dalam pengubah __declspec

Pengidentifikasi ini adalah atribut yang diperluas untuk pengubah __declspec . Kata kunci dianggap sebagai kata kunci dalam konteks tersebut.

Kata kunci C++/CLI dan C++/CX

__abstractf
__boxf
__delegatef
__gcf
__identifier
__nogcf
__noop
__pinf
__propertyf
__sealedf

f Berlaku untuk Ekstensi Terkelola hanya untuk C++. Sintaksis ini sekarang tidak digunakan lagi. Untuk informasi selengkapnya, lihat Ekstensi Komponen untuk Platform Runtime.

g Berlaku untuk C++/CLI.

Baca juga

Konvensi leksikal
Operator, prioritas, dan associativitas bawaan C++