Rumah > Soal Jawab > teks badan
Seperti berikut:
template <class I>
struct iterator_traits
{
typedef typename I::value_type value_type;
}
//针对指向常数对象的指针的特例化
template <class T>
struct iterator_traits<const T*>
{
typedef T value_type;
}
Di sini saya berfikir untuk mendapatkan value_type yang berkaitan dengan iterator Mengapa menukar const int kepada int? Apa yang kita nak dapat ialah maklumat taip Walaupun yang diperolehi (pembolehubah jenis ini) tidak boleh diubah suai, kenapa ia dikatakan tidak berguna (kata dalam buku analisis kod sumber stl)
Saya harap anda boleh membantu saya menerangkan perkara di atas. Terima kasih.
漂亮男人2017-05-16 13:32:50
Itu sahaja, tujuan ciri (pengekstrakan) adalah untuk mendapatkan secara statik beberapa ciri yang melekat pada objek pada masa penyusunan
Saya tidak begitu faham apa yang anda ingin nyatakan Anda berkata "Mengapa menukar const int kepada int"?
template <class T>
struct iterator_traits<const T*>
{
typedef const T const_value_type;
//你可以定义更多的,traits出更多的类型
}