我认为迭代器类需要在类的顶部具有以下标记这是相对较新的:
using iterator_category = std::bidirectional_iterator_tag;
using value_type = T;
using difference_type = int;
using pointer = T*;
using reference = T&;
为什么这些是必要的,他们在幕后做什么?(如果有的话(
using
关键字在C++11中是新的。
在本例中,它被用作typedef
的替代品。
代替书写:
typedef T value_type;
你可以写这个来获得相同的结果:
using value_type = T;
看看";使用";C++中的关键字?了解更多信息。