在阅读Eric Niebler的范围提案时,我遇到了“sentinel”这个术语,它用来替代end迭代器。我很难理解sentinel相对于end迭代器的优势。能否给出一个清晰的示例说明sentinel带来的好处,而标准迭代器对此无法做到?
“sentinel是past-the-end迭代器的抽象。 Sentinel是Regular类型,可用于表示范围的结尾。一个表示范围的sentinel和迭代器应该具有相等比较运算符。当迭代器i与sentinel进行比较且i指向那个元素时,sentinel表示一个元素。”-- N4382
我认为sentinel作为函数在确定范围结尾方面的工作要比仅使用位置更加有效。
“sentinel是past-the-end迭代器的抽象。 Sentinel是Regular类型,可用于表示范围的结尾。一个表示范围的sentinel和迭代器应该具有相等比较运算符。当迭代器i与sentinel进行比较且i指向那个元素时,sentinel表示一个元素。”-- N4382
我认为sentinel作为函数在确定范围结尾方面的工作要比仅使用位置更加有效。