Panduan pemotongan yang ditentukan pengguna untuk tipe std
Untuk beberapa alasan masih ada kekurangan CTAD yang diharapkan untuk std::initializer_list
di clang :
std::initializer_list l{1,2,3}; // error in clang
Menambahkan panduan yang ditentukan pengguna seperti berikut ini dapat memperbaiki masalah :
namespace std {
template<class T>
initializer_list(const initializer_list<T>&) -> initializer_list<T>;
}
Tetapi apakah diperbolehkan untuk menambahkan panduan yang ditentukan pengguna untuk CTAD untuk std::
tipe?
Jawaban
5 Oliv
Menambahkan panduan pemotongan ke tipe perpustakaan standar adalah UB [namespace std] §4.4 :
Perilaku program C ++ tidak terdefinisi jika ia mendeklarasikan: [...]
- panduan pemotongan untuk template kelas perpustakaan standar.
Selalu Menjadi Ancaman: Mengapa Orang Berkulit Coklat dan Hitam Tidak Bisa Nyaman di Amerika Serikat
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'