/Zc:char8_t
(Abilita tipo di char8_t C++20)
L'opzione /Zc:char8_t
del compilatore abilita il supporto del tipo conforme a char8_t
C++20. char8_t
è un tipo di carattere usato per rappresentare le unità di codice UTF-8.
Sintassi
/Zc:char8_t
[-
]
Osservazioni:
L'opzione /Zc:char8_t
del compilatore abilita la char8_t
parola chiave type come specificato nello standard C++20. Fa in modo che il compilatore generi u8
valori letterali stringa o carattere con prefisso rispettivamente come const char8_t
tipi o const char8_t[N]
anziché come const char
o const char[N]
. In C++17 le matrici di char
possono essere inizializzate usando u8
valori letterali stringa. In C++20 questa inizializzazione non è corretta e causa l'errore del compilatore C2440. Questo comportamento può essere una modifica che causa un'interruzione di origine. È possibile ripristinare in modo esplicito il comportamento del compilatore in C++14 o C++17 specificando /Zc:char8_t-
.
L'opzione /Zc:char8_t
è disponibile a partire da Visual Studio 2019 versione 16.1. Viene abilitata automaticamente quando si specifica /std:c++20
o versione successiva ,ad esempio /std:c++latest
. In caso contrario, è disattivato per impostazione predefinita.
Esempio
const char* s = u8"Hello"; // Compiles in C++17, Error C2440 in C++20
const char8_t* s = u8"Hello"; // Compiles in C++20 or with /Zc:char8_t
Per impostare questa opzione del compilatore in Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.
Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.
Aggiungere
/Zc:char8_t
o/Zc:char8_t-
al riquadro Opzioni aggiuntive: .
Vedi anche
/Zc
(Conformità)
/std
(Specificare la versione standard della lingua)