【发布时间】:2020-10-14 16:46:04
【问题描述】:
为什么标准将end() 定义为末尾,而不是实际末尾?
【问题讨论】:
-
我猜“因为这就是标准所说的”不会削减它,对吧? :)
-
@LuchianGrigore:当然不是。这会削弱我们对标准(背后的人)的尊重。我们应该期望标准做出的选择有一个原因。
-
我猜,这个解释也值得你关注:One Past the End
-
简而言之,计算机算不上人。但是,如果您对为什么人们不把计算机算作计算机感到好奇,我建议您使用The Nothing that Is: A Natural History of Zero 来深入了解人类发现有一个小于一的数字时遇到的麻烦。
-
因为只有一种方法可以生成“最后一个”,所以它通常并不便宜,因为它必须是真实的。生成“你从悬崖的尽头掉下来”总是很便宜,许多可能的表示都可以。 (void*)"ahhhhhhh" 会很好。
标签: c++ stl iterator standards