gpt4 book ai didi

c++ - 对于在 C++ 中找不到异常,您会怎么想?

转载 作者:IT老高 更新时间:2023-10-28 23:10:03 24 4
gpt4 key购买 nike

我知道大多数人认为这是一种不好的做法,但是当你试图让你的类公共(public)接口(interface)只与引用一起工作时,只在必要时保留指针,我认为没有办法返回一些东西,告诉你正在寻找的值在容器中不存在。

class list {    public:        value &get(type key);};

假设您不希望在类的公共(public)接口(interface)中看到危险的指针,在这种情况下您如何返回未找到,抛出异常?

您对此有何看法?您是否返回一个空的 value 并检查它的空状态?我实际上使用了 throw 方法,但我介绍了一种检查方法:

class list {   public:      bool exists(type key);      value &get(type key);};

所以当我忘记首先检查值是否存在时,我会得到一个异常,这确实是一个异常

你会怎么做?

最佳答案

STL 通过使用迭代器来处理这种情况。例如,std::map 类也有类似的功能:

iterator find( const key_type& key );

如果未找到 key ,则返回“end()”。您可能想要使用这种迭代器方法,或者为您的返回值使用某种包装器。

关于c++ - 对于在 C++ 中找不到异常,您会怎么想?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/143746/

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