gpt4 book ai didi

c++ - 异常规范和标准输入迭代器

转载 作者:行者123 更新时间:2023-11-28 03:34:51 26 4
gpt4 key购买 nike

我有一个输入迭代器,它使用两种方法 getFirst 和 getNext。这两个函数都是 api 的一部分,理论上这些函数无论出于何种原因都可能在操作中失败。在本例中,我将抛出一个运行时异常。

我以前从未在 C++ 中使用过异常规范,但我认为现在可能是开始的好时机。所以我的 Constructor 和 operator++ 函数可以指定它们可以抛出运行时错误。

然后我在我的 vector.h 文件 (std::vector) 中进行了快速搜索,但我没有看到那里使用了 throw。怎么会?

如果我已经到达我的迭代器的末尾并且我执行 *(i++) 应该有异常吗?

最佳答案

If I have reached the end of my iterator and I do *(i++) should there be an exception?

是的,那是一个错误。

关于异常规范,最好指定您的方法何时不抛出异常。而不是相反。看看this问题。

关于c++ - 异常规范和标准输入迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11257736/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com