Parole chiave C++
Le parole chiave sono identificatori riservati predefiniti che hanno un significato particolare. Nel programma non è possibile usarle come identificatori. Le seguenti parole chiave sono riservate a Microsoft C++. I nomi con caratteri di sottolineatura iniziali sono estensioni Microsoft.
__box 2 |
||
__gc 2 |
||
__hook 3 |
||
__nogc 2 |
||
__pin 2 |
||
__sealed 2 |
||
__unhook 3 |
||
__value 2 |
||
naked 1 |
||
noinline 1 |
noreturn 1 |
|
nothrow 1 |
novtable 1 |
|
property 1 |
||
thread 1 |
||
uuid 1 |
||
1 Attributi estesi per la parola chiave __declspec.
2 Applicabile solo alle estensioni gestite di C++. Questa sintassi è ora deprecata.
3 Funzione intrinseca usata nella gestione eventi.
Per altre informazioni, vedere Estensioni componenti per le piattaforme runtime.
Sezione specifica Microsoft
In Microsoft C++ gli identificatori con due caratteri di sottolineatura iniziali sono riservati alle implementazioni del compilatore. Pertanto, per convenzione le parole chiave specifiche di Microsoft sono precedute da un doppio carattere di sottolineatura. Queste parole non possono essere usate come nomi di identificatori.
Le estensioni Microsoft sono attivate per impostazione predefinita. Per assicurarsi che i programmi siano completamente portabili, è possibile disabilitare le estensioni Microsoft specificando l'opzione della riga di comando /Za compatibile con ANSI (compilare per la compatibilità con ANSI) durante la compilazione. In questo caso, le parole chiave specifiche di Microsoft sono disabilitate.
Quando le estensioni Microsoft sono abilitate, è possibile usare le parole chiave specifiche di Microsoft nei programmi. Per la compatibilità con ANSI, tali parole chiave sono precedute da un doppio carattere di sottolineatura. Ai fini della compatibilità con le versioni precedenti, sono supportate le versioni con singolo carattere di sottolineatura di tutte le parole chiave con doppio carattere di sottolineatura tranne __except, __finally, __leave e __try. Inoltre, __cdecl è disponibile senza alcuna sottolineatura iniziale.
La parola chiave __asm sostituisce la sintassi asm C++. asm è riservata per compatibilità con altre implementazioni di C++, ma non è implementata. Usare __asm.
La parola chiave __based ha usi limitati nelle compilazioni di destinazione a 32 bit e a 64 bit.