Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/keyword"

From cppreference.com
< cpp
m (See also: nomono)
Line 1: Line 1:
{{title|C++ keywords}}
+
{{titolo|Parole chiave C++}}
{{cpp/keyword/navbar}}
+
{{cpp/parola chiave/barra di navigazione}}
  
This is a list of reserved keywords in C++. Since they are used by the language, these keywords are not available for re-definition or overloading.  
+
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"
 
|-
 
|-
! A – C !! D P !! R – Z
+
! AC !! D-P!! R – Z
 
|- style="vertical-align:top;"
 
|- style="vertical-align:top;"
 
|
 
|
{{rlt|alignas}} {{mark since c++11}}<br>
+
{{rlt|alignas}} {{segno dal c++11}}<br>
{{rlt|alignof}} {{mark since c++11}}<br>
+
{{rlt|alignof}} {{segno dal c++11}}<br>
{{rlt|and}}<br>
+
{{rlt|e}}<br>
{{rlt|and_eq}}<br>
+
{{rlt|e_eq}}<br>
 
{{rlt|asm}}<br>
 
{{rlt|asm}}<br>
{{ltt|cpp/language/transactional_memory|atomic_cancel}} {{mark since tm ts}}<br>
+
{{ltt|cpp/language/transactional_memory|atomic_cancel}} {{segno da tm ts}}<br>
{{ltt|cpp/language/transactional_memory|atomic_commit}} {{mark since tm ts}}<br>
+
{{ltt|cpp/language/transactional_memory|atomic_commit}} {{segno da tm ts}}<br>
{{ltt|cpp/language/transactional_memory|atomic_noexcept}} {{mark since tm ts}}<br>
+
{{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|break}}<br>
+
{{rlt|pausa}}<br>
{{rlt|case}}<br>
+
{{rlt|caso}}<br>
{{rlt|catch}}<br>
+
{{rlt|cattura}}<br>
 
{{rlt|char}}<br>
 
{{rlt|char}}<br>
{{rlt|char8_t}} {{mark since c++20}}<br>
+
{{rlt|char8_t}} {{segno dal c++20}}<br>
{{rlt|char16_t}} {{mark since c++11}}<br>
+
{{rlt|char16_t}} {{segno dal c++11}}<br>
{{rlt|char32_t}} {{mark since c++11}}<br>
+
{{rlt|char32_t}} {{segno dal c++11}}<br>
{{rlt|class}} {{mark|1}}<br>
+
{{rlt|classe}} {{segno|1}}<br>
 
{{rlt|compl}}<br>
 
{{rlt|compl}}<br>
{{rlt|concept}} {{mark since c++20}}<br>
+
{{rlt|concept}} {{segno dal c++20}}<br>
 
{{rlt|const}}<br>
 
{{rlt|const}}<br>
{{rlt|consteval}} {{mark since c++20}}<br>
+
{{rlt|consteval}} {{segno dal c++20}}<br>
{{rlt|constexpr}} {{mark since c++11}}<br>
+
{{rlt|constexpr}} {{segno dal c++11}}<br>
{{rlt|constinit}} {{mark since c++20}}<br>
+
{{rlt|constinit}} {{segno dal c++20}}<br>
 
{{rlt|const_cast}}<br>
 
{{rlt|const_cast}}<br>
{{rlt|continue}}<br>
+
{{rlt|continua}}<br>
{{rlt|co_await}} {{mark since c++20}}<br>
+
{{rlt|co_aspetta}} {{segna dal c++20}}<br>
{{rlt|co_return}} {{mark since c++20}}<br>
+
{{rlt|co_return}} {{segno dal c++20}}<br>
{{rlt|co_yield}} {{mark since c++20}}<br>
+
{{rlt|co_yield}} {{segno dal c++20}}<br>
 
|
 
|
{{rlt|decltype}} {{mark since c++11}}<br>
+
{{rlt|decltype}} {{segno dal c++11}}<br>
 
{{rlt|default}} {{mark|1}}<br>
 
{{rlt|default}} {{mark|1}}<br>
{{rlt|delete}} {{mark|1}}<br>
+
{{rlt|cancella}} {{segna|1}}<br>
 
{{rlt|do}}<br>
 
{{rlt|do}}<br>
{{rlt|double}}<br>
+
{{rlt|doppio}}<br>
 
{{rlt|dynamic_cast}}<br>
 
{{rlt|dynamic_cast}}<br>
 
{{rlt|else}}<br>
 
{{rlt|else}}<br>
 
{{rlt|enum}}<br>
 
{{rlt|enum}}<br>
{{rlt|explicit}}<br>
+
{{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|false}}<br>
+
{{rlt|falso}}<br>
{{rlt|float}}<br>
+
{{rlt|flottante}}<br>
{{rlt|for}}<br>
+
{{rlt|per}}<br>
{{rlt|friend}}<br>
+
{{rlt|amico}}<br>
 
{{rlt|goto}}<br>
 
{{rlt|goto}}<br>
{{rlt|if}}<br>
+
{{rlt|se}}<br>
{{rlt|inline}} {{mark|1}}<br>
+
{{rlt|in linea}} {{segno|1}}<br>
 
{{rlt|int}}<br>
 
{{rlt|int}}<br>
{{rlt|long}}<br>
+
{{rlt|lungo}}<br>
{{rlt|mutable}} {{mark|1}}<br>
+
{{rlt|mutabile}} {{segno|1}}<br>
{{rlt|namespace}}<br>
+
{{rlt|spazio dei nomi}}<br>
{{rlt|new}}<br>
+
{{rlt|nuovo}}<br>
{{rlt|noexcept}} {{mark since c++11}}<br>
+
{{rlt|noException}} {{segno dal c++11}}<br>
{{rlt|not}}<br>
+
{{rlt|non}}<br>
{{rlt|not_eq}}<br>
+
{{rlt|non_eq}}<br>
{{rlt|nullptr}} {{mark since c++11}}<br>
+
{{rlt|nullptr}} {{segno dal c++11}}<br>
{{rlt|operator}}<br>
+
{{rlt|operatore}}<br>
{{rlt|or}}<br>
+
{{rlt|o}}<br>
{{rlt|or_eq}}<br>
+
{{rlt|o_eq}}<br>
{{rlt|private}}<br>
+
{{rlt|privato}}<br>
{{rlt|protected}}<br>
+
{{rlt|protetto}}<br>
{{rlt|public}}<br>
+
{{rlt|pubblico}}<br>
 
|
 
|
{{rlt|reflexpr}} {{mark since reflection ts}}<br>
+
{{rlt|reflexpr}} {{segno dal riflesso ts}}<br>
{{rlt|register}} {{mark|2}}<br>
+
{{rlt|registrazione}} {{segno|2}}<br>
 
{{rlt|reinterpret_cast}}<br>
 
{{rlt|reinterpret_cast}}<br>
{{rlt|requires}} {{mark since c++20}}<br>
+
{{rlt|richiede}} {{segno dal c++20}}<br>
{{rlt|return}}<br>
+
{{rlt|ritorno}}<br>
{{rlt|short}}<br>
+
{{rlt|corto}}<br>
{{rlt|signed}}<br>
+
{{rlt|firmato}}<br>
 
{{rlt|sizeof}} {{mark|1}}<br>
 
{{rlt|sizeof}} {{mark|1}}<br>
{{rlt|static}}<br>
+
{{rlt|statico}}<br>
{{rlt|static_assert}} {{mark since c++11}}<br>
+
{{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|switch}}<br>
+
{{rlt|cambia}}<br>
{{ltt|cpp/language/transactional_memory|synchronized}} {{mark since tm ts}}<br>
+
{{ltt|cpp/language/transactional_memory|sincronizzato}} {{segno da tm ts}}<br>
{{rlt|template}}<br>
+
{{rlt|modello}}<br>
{{rlt|this}}<br>
+
{{rlt|questo}}<br>
{{rlt|thread_local}} {{mark since c++11}}<br>
+
{{rlt|thread_local}} {{segno dal c++11}}<br>
{{rlt|throw}}<br>
+
{{rlt|lancio}}<br>
{{rlt|true}}<br>
+
{{rlt|vero}}<br>
{{rlt|try}}<br>
+
{{rlt|prova}}<br>
 
{{rlt|typedef}}<br>
 
{{rlt|typedef}}<br>
 
{{rlt|typeid}}<br>
 
{{rlt|typeid}}<br>
{{rlt|typename}}<br>
+
{{rlt|nometipo}}<br>
{{rlt|union}}<br>
+
{{rlt|unione}}<br>
{{rlt|unsigned}}<br>
+
{{rlt|non firmato}}<br>
{{rlt|using}} {{mark|1}}<br>
+
{{rlt|usando}} {{mark|1}}<br>
{{rlt|virtual}}<br>
+
{{rlt|virtuale}}<br>
{{rlt|void}}<br>
+
{{rlt|vuoto}}<br>
 
{{rlt|volatile}}<br>
 
{{rlt|volatile}}<br>
 
{{rlt|wchar_t}}<br>
 
{{rlt|wchar_t}}<br>
{{rlt|while}}<br>
+
{{rlt|mentre}}<br>
 
{{rlt|xor}}<br>
 
{{rlt|xor}}<br>
 
{{rlt|xor_eq}}
 
{{rlt|xor_eq}}
 
|}
 
|}
  
* {{mark|1}} — meaning changed or new meaning added in C++11.
+
* {{mark|1}} — significato modificato o nuovo significato aggiunto in C++11.
* {{mark|2}} — meaning changed in C++17.
+
* {{mark|2}} — significato cambiato in C++17.
* {{mark|3}} — meaning changed in C++20.
+
* {{mark|3}} — significato cambiato in C++20.
Note that {{rlt|and}}, {{rlt|bitor}}, {{rlt|or}}, {{rlt|xor}}, {{rlt|compl}}, {{rlt|bitand}}, {{rlt|and_eq}}, {{rlt|or_eq}}, {{rlt|xor_eq}}, {{rlt|not}}, and {{rlt|not_eq}} (along with the digraphs {{tt|<%}}, {{tt|%>}}, {{tt|<:}}, {{tt|:>}}, {{tt|%:}}, and {{tt|%:%:}}) provide an [[cpp/language/operator_alternative|alternative way to represent standard tokens]].
+
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]].
  
In addition to keywords, there are ''identifiers with special meaning'', which may be used as names of objects or functions, but have special meaning in certain contexts.
+
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}} {{mark since tm ts}}<br>
+
{{ltt|cpp/language/transactional_memory|transaction_safe}} {{segno da tm ts}}<br>
{{ltt|cpp/language/transactional_memory|transaction_safe_dynamic}} {{mark since tm ts}}<br>
+
{{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|module}} {{mark c++20}}
+
{{rlt|modulo}} {{segno c++20}}
 
|}
 
|}
  
Also, all [[cpp/language/identifiers|identifiers]] that contain a double underscore __ in any position and each identifier that begins with an underscore followed by an uppercase letter is always reserved and all identifiers that begin with an underscore are reserved for use as names in the global namespace. See [[cpp/language/identifiers|identifiers]] for more details.
+
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.
  
The namespace {{tt|std}} is used to place names of the standard C++ library. See [[cpp/language/extending_std|Extending namespace std]] for the rules about adding names to it.
+
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|The name {{tt|posix}} is reserved for a future top-level namespace. The behavior is undefined if a program declares or defines anything in that namespace.}}
+
{{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.}}
  
The following tokens are recognized by the [[cpp/preprocessor|preprocessor]] when in context of a preprocessor directive:
+
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|if}}<br>
+
{{ltt|cpp/preprocessor/conditional|se}}<br>
 
{{ltt|cpp/preprocessor/conditional|elif}}<br>
 
{{ltt|cpp/preprocessor/conditional|elif}}<br>
{{ltt|cpp/preprocessor/conditional|else}}<br>
+
{{ltt|cpp/preprocessor/conditiona
{{ltt|cpp/preprocessor/conditional|endif}}<br>
+
|
+
{{ltt|cpp/preprocessor/conditional|ifdef}}<br>
+
{{ltt|cpp/preprocessor/conditional|ifndef}}<br>
+
{{ltt|cpp/preprocessor/replace|define}}<br>
+
{{ltt|cpp/preprocessor/replace|undef}}<br>
+
|
+
{{ltt|cpp/preprocessor/include|include}}<br>
+
{{ltt|cpp/preprocessor/line|line}}<br>
+
{{ltt|cpp/preprocessor/error|error}}<br>
+
{{ltt|cpp/preprocessor/impl|pragma}}<br>
+
|
+
{{ltt|cpp/preprocessor/conditional|defined}}<br>
+
{{ltt|cpp/feature_test|__has_include}} {{mark since c++17}}<br>
+
{{ltt|cpp/feature_test|__has_cpp_attribute}} {{mark since c++20}}
+
|
+
{{rlt|export}} {{mark c++20}}<br>
+
{{rlt|import}} {{mark c++20}}<br>
+
{{rlt|module}} {{mark c++20}}
+
|}
+
 
+
The following tokens are recognized by the [[cpp/preprocessor|preprocessor]] ''outside'' the context of a preprocessor directive:
+
{| class="wikitable"
+
|-
+
|
+
{{ltt|cpp/preprocessor/impl|_Pragma}} {{mark since c++11}}
+
|}
+
 
+
===See also===
+
{{dsc begin}}
+
{{dsc see c | c/keyword |C keywords | nomono=true}}
+
{{dsc end}}
+
 
+
{{langlinks|ar|de|es|fr|it|ja|ko|pl|pt|ru|zh}}
+

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.

AC D-P R – Z

alignas Template:segno dal c++11
alignof Template:segno dal c++11
e
e_eq
asm
atomic_cancel Template:segno da tm ts
atomic_commit Template:segno da tm ts
atomic_noactivate Template:segno da tm ts
auto (1)
bitand
bitor
bool
pausa
caso
cattura
char
char8_t Template:segno dal c++20
char16_t Template:segno dal c++11
char32_t Template:segno dal c++11
classe Template:segno
compl
concept Template:segno dal c++20
const
consteval Template:segno dal c++20
constexpr Template:segno dal c++11
constinit Template:segno dal c++20
const_cast
continua
co_aspetta Template:segna dal c++20
co_return Template:segno dal c++20
co_yield Template:segno dal c++20

decltype Template:segno dal c++11
default (1)
cancella Template:segna
do
doppio
dynamic_cast
else
enum
esplicito
export (1) (3)
extern (1)
falso
flottante
per
amico
goto
se
in linea Template:segno
int
lungo
mutabile Template:segno
spazio dei nomi
nuovo
noException Template:segno dal c++11
non
non_eq
nullptr Template:segno dal c++11
operatore
o
o_eq
privato
protetto
pubblico

reflexpr Template:segno dal riflesso ts
registrazione Template:segno
reinterpret_cast
richiede Template:segno dal c++20
ritorno
corto
firmato
sizeof (1)
statico
static_assert Template:segno dal c++11
static_cast
struct (1)
cambia
sincronizzato Template:segno da tm ts
modello
questo
thread_local Template:segno dal c++11
lancio
vero
prova
typedef
typeid
nometipo
unione
non firmato
usando (1)
virtuale
vuoto
volatile
wchar_t
mentre
xor
xor_eq

  • (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)
override (C++11)
transaction_safe Template:segno da tm ts
transaction_safe_dynamic Template:segno da tm ts
import (C++20)
modulo Template:segno c++20

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 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.

(since C++11)

I seguenti token sono riconosciuti dal preprocessor nel contesto di una direttiva per il preprocessore:

se
elif
{{ltt|cpp/preprocessor/conditiona