/Zc:char8_t
(Aktifkan jenis char8_t C++20)
Opsi /Zc:char8_t
pengkompilasi memungkinkan dukungan jenis yang char8_t
sesuai dengan C++20. char8_t
adalah jenis karakter yang digunakan untuk mewakili unit kode UTF-8.
Sintaks
/Zc:char8_t
[-
]
Keterangan
Opsi /Zc:char8_t
pengkompilasi mengaktifkan char8_t
kata kunci jenis seperti yang ditentukan dalam standar C++20. Ini menyebabkan pengkompilasi menghasilkan u8
karakter awalan atau literal string sebagai const char8_t
atau const char8_t[N]
jenis, masing-masing, alih-alih sebagai const char
atau const char[N]
jenis. Di C++17, array char
dapat diinisialisasi menggunakan u8
literal string. Di C++20, inisialisasi ini terbentuk buruk, dan menyebabkan kesalahan kompilator C2440. Perilaku ini bisa menjadi perubahan yang melanggar sumber. Anda dapat mengembalikan kompilator ke perilaku C++14 atau C++17 secara eksplisit dengan menentukan /Zc:char8_t-
.
Opsi /Zc:char8_t
ini tersedia mulai di Visual Studio 2019 versi 16.1. Ini diaktifkan secara otomatis saat Anda menentukan /std:c++20
atau yang lebih baru (seperti /std:c++latest
). Jika tidak, ini nonaktif secara default.
Contoh
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
Untuk mengatur opsi pengkompilasi ini di Visual Studio
Buka kotak dialog Halaman Properti proyek. Untuk detailnya, lihat Mengatur pengkompilasi C++ dan membuat properti di Visual Studio.
Pilih halaman properti Properti>Konfigurasi C/C++>Baris Perintah.
Tambahkan
/Zc:char8_t
atau/Zc:char8_t-
ke panel Opsi tambahan: .