C++ 为我的链表实现迭代器类。使用的关键字是什么?

C++ 为我的链表实现迭代器类。使用的关键字是什么?,c++,c++11,iterator,C++,C++11,Iterator,我认为迭代器类需要在类的顶部具有以下标记,这是相对较新的: using iterator_category = std::bidirectional_iterator_tag; using value_type = T; using difference_type = int; using pointer = T*; using reference = T&; 为什么这些是必要的,他们在幕后做什么?(如果有的话)使用关键字的在C++11中是新的 在本例中,它被用作typedef的替代品

我认为迭代器类需要在类的顶部具有以下标记,这是相对较新的:

using iterator_category = std::bidirectional_iterator_tag;
using value_type = T;
using difference_type = int;
using pointer = T*;
using reference = T&;

为什么这些是必要的,他们在幕后做什么?(如果有的话)

使用关键字的
在C++11中是新的

在本例中,它被用作
typedef
的替代品

而不是写:

typedef T value_type;
您可以编写以下内容以获得相同的结果:

using value_type = T;

有关更多信息,请参阅。

不,这不是什么新鲜事。。。它们是用来帮助生成无bug代码的别名。这可能已经得到了回答。