代码之家  ›  专栏  ›  技术社区  ›  MSalters

boost::multi\u index\u container::index<Tag>::type有什么意义?

  •  5
  • MSalters  · 技术社区  · 14 年前

    boost::multi_index_container< > T container.get<T>().begin() container.get<T>().end() .

    如果您试图在for循环中这样做(并且没有C++ 0x) auto ),迭代器的类型为 multi_index_container<...>::index<T>::type::iterator . 现在 index<T>::type iterator typedef和 begin() 方法。

    multi_index_container< >::index<T> 似乎只存在于typedef ,和 有认识的会员,为什么不认识 index<T> multi_index_container<...>::index<T>::iterator .

    同样,为什么 multi_index_container< >::index_iterator<T> 不是迭代器? multi_index_container< >::index_iterator<T>::type 是的,但是为什么Boost选择了嵌入式typedef呢?又一次 ::type

    1 回复  |  直到 14 年前
        1
  •  2
  •   In silico    14 年前

    我个人认为这只是一个疏忽。尤其是像这样一个不起眼的图书馆 boost::multi_index_container<T> 本身