C++标准是否需要operator!=必须为给定的迭代器类型提供?

xml*_*lmx 0 c++ standards iterator type-traits semantics

C++ 17标准27.2.1.8说:

迭代器j被称为可以从迭代器i到达,当且仅当存在表达式++ i的有限序列的应用程序时才使i == j.

也就是说,任何符合标准的迭代器类型都必须提供operator ==.

但是,我发现没有任何关于operator !=迭代器类型的要求.

是否operator !=必须为给定的迭代器类型提供C++标准要求?

M.M*_*M.M 6

参见C++ 17 [input.iterators]/2表95"输入迭代器要求".

输入迭代器要求a != b有效,并且行为与!(a == b)后者有效时的行为相同. 链接到cppreference.com摘要

输出迭代器不需要支持任何操作.