Difference between revisions of "cpp/keyword"
m (→See also: nomono) |
|||
Line 1: | Line 1: | ||
− | {{ | + | {{titolo|Parole chiave C++}} |
− | {{cpp/ | + | {{cpp/parola chiave/barra di navigazione}} |
− | + | Questo è un elenco di parole chiave riservate in C++. Poiché sono utilizzate dal linguaggio, queste parole chiave non sono disponibili per la ridefinizione o il sovraccarico. | |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
− | ! | + | ! AC !! D-P!! R – Z |
|- style="vertical-align:top;" | |- style="vertical-align:top;" | ||
| | | | ||
− | {{rlt|alignas}} {{ | + | {{rlt|alignas}} {{segno dal c++11}}<br> |
− | {{rlt|alignof}} {{ | + | {{rlt|alignof}} {{segno dal c++11}}<br> |
− | {{rlt| | + | {{rlt|e}}<br> |
− | {{rlt| | + | {{rlt|e_eq}}<br> |
{{rlt|asm}}<br> | {{rlt|asm}}<br> | ||
− | {{ltt|cpp/language/transactional_memory|atomic_cancel}} {{ | + | {{ltt|cpp/language/transactional_memory|atomic_cancel}} {{segno da tm ts}}<br> |
− | {{ltt|cpp/language/transactional_memory|atomic_commit}} {{ | + | {{ltt|cpp/language/transactional_memory|atomic_commit}} {{segno da tm ts}}<br> |
− | {{ltt|cpp/language/transactional_memory| | + | {{ltt|cpp/language/transactional_memory|atomic_noactivate}} {{segno da tm ts}}<br> |
{{rlt|auto}} {{mark|1}}<br> | {{rlt|auto}} {{mark|1}}<br> | ||
{{rlt|bitand}}<br> | {{rlt|bitand}}<br> | ||
{{rlt|bitor}}<br> | {{rlt|bitor}}<br> | ||
{{rlt|bool}}<br> | {{rlt|bool}}<br> | ||
− | {{rlt| | + | {{rlt|pausa}}<br> |
− | {{rlt| | + | {{rlt|caso}}<br> |
− | {{rlt| | + | {{rlt|cattura}}<br> |
{{rlt|char}}<br> | {{rlt|char}}<br> | ||
− | {{rlt|char8_t}} {{ | + | {{rlt|char8_t}} {{segno dal c++20}}<br> |
− | {{rlt|char16_t}} {{ | + | {{rlt|char16_t}} {{segno dal c++11}}<br> |
− | {{rlt|char32_t}} {{ | + | {{rlt|char32_t}} {{segno dal c++11}}<br> |
− | {{rlt| | + | {{rlt|classe}} {{segno|1}}<br> |
{{rlt|compl}}<br> | {{rlt|compl}}<br> | ||
− | {{rlt|concept}} {{ | + | {{rlt|concept}} {{segno dal c++20}}<br> |
{{rlt|const}}<br> | {{rlt|const}}<br> | ||
− | {{rlt|consteval}} {{ | + | {{rlt|consteval}} {{segno dal c++20}}<br> |
− | {{rlt|constexpr}} {{ | + | {{rlt|constexpr}} {{segno dal c++11}}<br> |
− | {{rlt|constinit}} {{ | + | {{rlt|constinit}} {{segno dal c++20}}<br> |
{{rlt|const_cast}}<br> | {{rlt|const_cast}}<br> | ||
− | {{rlt| | + | {{rlt|continua}}<br> |
− | {{rlt| | + | {{rlt|co_aspetta}} {{segna dal c++20}}<br> |
− | {{rlt|co_return}} {{ | + | {{rlt|co_return}} {{segno dal c++20}}<br> |
− | {{rlt|co_yield}} {{ | + | {{rlt|co_yield}} {{segno dal c++20}}<br> |
| | | | ||
− | {{rlt|decltype}} {{ | + | {{rlt|decltype}} {{segno dal c++11}}<br> |
{{rlt|default}} {{mark|1}}<br> | {{rlt|default}} {{mark|1}}<br> | ||
− | {{rlt| | + | {{rlt|cancella}} {{segna|1}}<br> |
{{rlt|do}}<br> | {{rlt|do}}<br> | ||
− | {{rlt| | + | {{rlt|doppio}}<br> |
{{rlt|dynamic_cast}}<br> | {{rlt|dynamic_cast}}<br> | ||
{{rlt|else}}<br> | {{rlt|else}}<br> | ||
{{rlt|enum}}<br> | {{rlt|enum}}<br> | ||
− | {{rlt| | + | {{rlt|esplicito}}<br> |
− | {{rlt|export}} {{mark|1}} {{mark|3}}<br> | + | {{rlt|export}} {{mark|1}} {{mark|3}}<br> |
{{rlt|extern}} {{mark|1}}<br> | {{rlt|extern}} {{mark|1}}<br> | ||
− | {{rlt| | + | {{rlt|falso}}<br> |
− | {{rlt| | + | {{rlt|flottante}}<br> |
− | {{rlt| | + | {{rlt|per}}<br> |
− | {{rlt| | + | {{rlt|amico}}<br> |
{{rlt|goto}}<br> | {{rlt|goto}}<br> | ||
− | {{rlt| | + | {{rlt|se}}<br> |
− | {{rlt| | + | {{rlt|in linea}} {{segno|1}}<br> |
{{rlt|int}}<br> | {{rlt|int}}<br> | ||
− | {{rlt| | + | {{rlt|lungo}}<br> |
− | {{rlt| | + | {{rlt|mutabile}} {{segno|1}}<br> |
− | {{rlt| | + | {{rlt|spazio dei nomi}}<br> |
− | {{rlt| | + | {{rlt|nuovo}}<br> |
− | {{rlt| | + | {{rlt|noException}} {{segno dal c++11}}<br> |
− | {{rlt| | + | {{rlt|non}}<br> |
− | {{rlt| | + | {{rlt|non_eq}}<br> |
− | {{rlt|nullptr}} {{ | + | {{rlt|nullptr}} {{segno dal c++11}}<br> |
− | {{rlt| | + | {{rlt|operatore}}<br> |
− | {{rlt| | + | {{rlt|o}}<br> |
− | {{rlt| | + | {{rlt|o_eq}}<br> |
− | {{rlt| | + | {{rlt|privato}}<br> |
− | {{rlt| | + | {{rlt|protetto}}<br> |
− | {{rlt| | + | {{rlt|pubblico}}<br> |
| | | | ||
− | {{rlt|reflexpr}} {{ | + | {{rlt|reflexpr}} {{segno dal riflesso ts}}<br> |
− | {{rlt| | + | {{rlt|registrazione}} {{segno|2}}<br> |
{{rlt|reinterpret_cast}}<br> | {{rlt|reinterpret_cast}}<br> | ||
− | {{rlt| | + | {{rlt|richiede}} {{segno dal c++20}}<br> |
− | {{rlt| | + | {{rlt|ritorno}}<br> |
− | {{rlt| | + | {{rlt|corto}}<br> |
− | {{rlt| | + | {{rlt|firmato}}<br> |
{{rlt|sizeof}} {{mark|1}}<br> | {{rlt|sizeof}} {{mark|1}}<br> | ||
− | {{rlt| | + | {{rlt|statico}}<br> |
− | {{rlt|static_assert}} {{ | + | {{rlt|static_assert}} {{segno dal c++11}}<br> |
{{rlt|static_cast}}<br> | {{rlt|static_cast}}<br> | ||
{{rlt|struct}} {{mark|1}}<br> | {{rlt|struct}} {{mark|1}}<br> | ||
− | {{rlt| | + | {{rlt|cambia}}<br> |
− | {{ltt|cpp/language/transactional_memory| | + | {{ltt|cpp/language/transactional_memory|sincronizzato}} {{segno da tm ts}}<br> |
− | {{rlt| | + | {{rlt|modello}}<br> |
− | {{rlt| | + | {{rlt|questo}}<br> |
− | {{rlt|thread_local}} {{ | + | {{rlt|thread_local}} {{segno dal c++11}}<br> |
− | {{rlt| | + | {{rlt|lancio}}<br> |
− | {{rlt| | + | {{rlt|vero}}<br> |
− | {{rlt| | + | {{rlt|prova}}<br> |
{{rlt|typedef}}<br> | {{rlt|typedef}}<br> | ||
{{rlt|typeid}}<br> | {{rlt|typeid}}<br> | ||
− | {{rlt| | + | {{rlt|nometipo}}<br> |
− | {{rlt| | + | {{rlt|unione}}<br> |
− | {{rlt| | + | {{rlt|non firmato}}<br> |
− | {{rlt| | + | {{rlt|usando}} {{mark|1}}<br> |
− | {{rlt| | + | {{rlt|virtuale}}<br> |
− | {{rlt| | + | {{rlt|vuoto}}<br> |
{{rlt|volatile}}<br> | {{rlt|volatile}}<br> | ||
{{rlt|wchar_t}}<br> | {{rlt|wchar_t}}<br> | ||
− | {{rlt| | + | {{rlt|mentre}}<br> |
{{rlt|xor}}<br> | {{rlt|xor}}<br> | ||
{{rlt|xor_eq}} | {{rlt|xor_eq}} | ||
|} | |} | ||
− | * {{mark|1}} — | + | * {{mark|1}} — significato modificato o nuovo significato aggiunto in C++11. |
− | * {{mark|2}} — | + | * {{mark|2}} — significato cambiato in C++17. |
− | * {{mark|3}} — | + | * {{mark|3}} — significato cambiato in C++20. |
− | + | Nota che {{rlt|and}}, {{rlt|bitor}}, {{rlt|or}}, {{rlt|xor}}, {{rlt|compl}}, {{rlt|bitand}}, {{rlt|and_eq}}, {{rlt|or_eq}}, {{rlt|xor_eq}}, {{rlt|not}} e {{rlt|not_eq}} (insieme ai digrafi {{tt|< %}}, {{tt|%>}}, {{tt|<:}}, {{tt|:>}}, {{tt|%:}} e {{tt|%:%:} }) forniscono un [[cpp/language/operator_alternative|modo alternativo per rappresentare i token standard]]. | |
− | + | Oltre alle parole chiave, ci sono ''identificatori con significato speciale'', che possono essere usati come nomi di oggetti o funzioni, ma hanno un significato speciale in determinati contesti. | |
{| class="wikitable" | {| class="wikitable" | ||
Line 122: | Line 122: | ||
{{ltt|cpp/language/final}} {{mark c++11}}<br> | {{ltt|cpp/language/final}} {{mark c++11}}<br> | ||
{{ltt|cpp/language/override}} {{mark c++11}}<br> | {{ltt|cpp/language/override}} {{mark c++11}}<br> | ||
− | {{ltt|cpp/language/transactional_memory|transaction_safe}} {{ | + | {{ltt|cpp/language/transactional_memory|transaction_safe}} {{segno da tm ts}}<br> |
− | {{ltt|cpp/language/transactional_memory|transaction_safe_dynamic}} {{ | + | {{ltt|cpp/language/transactional_memory|transaction_safe_dynamic}} {{segno da tm ts}}<br> |
{{rlt|import}} {{mark c++20}}<br> | {{rlt|import}} {{mark c++20}}<br> | ||
− | {{rlt| | + | {{rlt|modulo}} {{segno c++20}} |
|} | |} | ||
− | + | Inoltre, tutti i [[cpp/language/identifiers|identifiers]] che contengono un doppio carattere di sottolineatura __ in qualsiasi posizione e ogni identificatore che inizia con un carattere di sottolineatura seguito da una lettera maiuscola è sempre riservato e tutti gli identificatori che iniziano con un carattere di sottolineatura sono riservati per utilizzare come nomi nello spazio dei nomi globale. Vedi [[cpp/language/identifiers|identifiers]] per maggiori dettagli. | |
− | + | Lo spazio dei nomi {{tt|std}} viene utilizzato per posizionare i nomi della libreria C++ standard. Vedere [[cpp/language/extending_std|Extending namespace std]] per le regole sull'aggiunta di nomi. | |
− | {{rrev|since=c++11| | + | {{rrev|since=c++11|Il nome {{tt|posix}} è riservato per un futuro namespace di primo livello. Il comportamento non è definito se un programma dichiara o definisce qualcosa in quello spazio dei nomi.}} |
− | + | I seguenti token sono riconosciuti dal [[cpp/preprocessor|preprocessor]] nel contesto di una direttiva per il preprocessore: | |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
| | | | ||
− | {{ltt|cpp/preprocessor/conditional| | + | {{ltt|cpp/preprocessor/conditional|se}}<br> |
{{ltt|cpp/preprocessor/conditional|elif}}<br> | {{ltt|cpp/preprocessor/conditional|elif}}<br> | ||
− | {{ltt|cpp/preprocessor/ | + | {{ltt|cpp/preprocessor/conditiona |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Revision as of 03:05, 18 November 2021
Template:titolo Template:cpp/parola chiave/barra di navigazione
Questo è un elenco di parole chiave riservate in C++. Poiché sono utilizzate dal linguaggio, queste parole chiave non sono disponibili per la ridefinizione o il sovraccarico.
- (1) — significato modificato o nuovo significato aggiunto in C++11.
- (2) — significato cambiato in C++17.
- (3) — significato cambiato in C++20.
Nota che and
, bitor
, or
, xor
, compl
, bitand
, and_eq
, or_eq
, xor_eq
, not
e not_eq
(insieme ai digrafi < %
, %>
, <:
, :>
, %:
e {{tt|%:%:} }) forniscono un modo alternativo per rappresentare i token standard.
Oltre alle parole chiave, ci sono identificatori con significato speciale, che possono essere usati come nomi di oggetti o funzioni, ma hanno un significato speciale in determinati contesti.
final (C++11) |
Inoltre, tutti i identifiers che contengono un doppio carattere di sottolineatura __ in qualsiasi posizione e ogni identificatore che inizia con un carattere di sottolineatura seguito da una lettera maiuscola è sempre riservato e tutti gli identificatori che iniziano con un carattere di sottolineatura sono riservati per utilizzare come nomi nello spazio dei nomi globale. Vedi identifiers per maggiori dettagli.
Lo spazio dei nomi std
viene utilizzato per posizionare i nomi della libreria C++ standard. Vedere Extending namespace std per le regole sull'aggiunta di nomi.
Il nome |
(since C++11) |
I seguenti token sono riconosciuti dal preprocessor nel contesto di una direttiva per il preprocessore: