(void)输入迭代器的r ++要求

Pra*_*tic 4 c++ iterator

24.2.3 Input iterators,C++标准指定输入迭代器的一个要求作为表达式(void)r++等效(void)++r.

你也可以在cppreference上看到这个.

那是什么表达?这个要求有什么意义?为什么需要?

它看起来像一个C风格的类型转换为void的结果r++还是++r,但我不认为这是它到底是什么.这就是说,稍微离题,看起来我可以void在类中定义转换运算符.gcc和clang都编译它,但clang发出警告:

警告:永远不会使用将'C'转换为'void'的转换函数

Win*_*ute 5

这是一个C风格的演员void.什么是标准的意思是说是,r++并且++r如果不使用它们的返回值,即,它们具有相同的副作用必须等同.