c++ stl traits const T* pengkhususan separa.
PHPz
PHPz 2017-05-16 13:30:50
0
1
1046

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.

PHPz
PHPz

学习是最好的投资!

membalas semua(1)
漂亮男人
  1. Itu sahaja, tujuan ciri (pengekstrakan) adalah untuk mendapatkan secara statik beberapa ciri yang melekat pada objek pada masa penyusunan

  2. 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出更多的类型
    }
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan