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
alignas
alignof
and
b
and_eq
b
asm
a
auto
bitand
b
bitor
b
bool
break
case
catch
char
char8_t
c
char16_t
char32_t
class
compl
b
concept
c
const
const_cast
consteval
c
constexpr
constinit
c
continue
co_await
c
co_return
c
co_yield
c
decltype
default
delete
do
double
dynamic_cast
else
enum
explicit
export
c
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.
__alignof
e
__asm
e
__assume
e
__based
e
__cdecl
e
__declspec
e
__event
__except
e
__fastcall
e
__finally
e
__forceinline
e
__hook
d
__if_exists
__if_not_exists
__inline
e
__int16
e
__int32
e
__int64
e
__int8
e
__interface
__leave
e
__m128
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
__abstract
f
__box
f
__delegate
f
__gc
f
__identifier
__nogc
f
__noop
__pin
f
__property
f
__sealed
f
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++
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk