我有一个输入迭代器,它使用两个方法 getFirst 和 getNext。这两个函数都是 api 的一部分,理论上这些函数可能会因任何原因而失败。在这种情况下,我正在投射运行时异常。
我以前从未在 C++ 中使用过异常规范,但我想现在可能是开始的好时机。所以我的 Constructor 和 operator++ 函数可以指定它们可以引发运行时错误。
然后我在我的 vector.h 文件(std::vector)中进行了快速搜索,但我没有看到那里使用了 throw。怎么来的?
如果我已经到了迭代器的末尾并且我做了 *(i++) 应该有例外吗?