我最近研究了这个weakly_incrementable
概念,我想知道后增量运算符有什么好处,因为这个概念没有定义对运算结果的任何要求。
真的可以退货void
吗operator++(int)
?
void operator++(int) { ++(*this); }
它似乎符合该概念的其他要求(例如它不必是可复制的)以及该incrementable
概念引入了i++
有用的要求这一事实,但在这种情况下,我想知道为什么i++
由概念定义全部。毕竟,当你需要一些东西来实现这个weakly_incrementable
概念时,你总是可以使用++i
而不是i++
因为
- 你不能依赖
i++
任何有用的属性,除了那些已经提供的++i
但是 i++
可能效率更低(例如,当它创建迭代器的副本时)。