除了提前取负数之外,还有更多的东西吗?
原文由 Tavison 发布,翻译遵循 CC BY-SA 4.0 许可协议
也许最大的实际区别是 std::next()
仅适用于 C++11。
std::next()
默认前进1,而 std::advance()
需要距离。
然后是返回值:
std::advance()
:(无)(传入的迭代器被修改)std::next()
: 第 n 个后继者。std::next()
像 std::advance
一样采用负数,在这种情况下要求迭代器必须是双向的。 std::prev()
当意图是专门向后移动时会更具可读性。
原文由 johnsyweb 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
3 回答3.4k 阅读
1 回答1.6k 阅读✓ 已解决
std::advance
std::next