gpt4 book ai didi

c++ - 我应该使用断言来验证第三方功能吗?

转载 作者:太空狗 更新时间:2023-10-29 22:57:26 25 4
gpt4 key购买 nike

我使用一些基于过滤器的第三方函数返回指定数量的对象:

//void GetObjects(std::vector<T>&, Filter, int /*objectsNumber*/)

GetObjects(vec, filter, 1);

if(vec.empty())
{
throw ObjectNotFound();
}

assert(vec.size() == 1);

我应该像上面那样使用断言吗?这是一个典型的断言场景吗?

最佳答案

如何处理程序中的错误取决于您和您的程序性质。

在生产环境中,您通常尽量不要断言,因为这意味着您的应用程序终止。在其他情况下,执行您的程序的进程会意识到您的程序已死,然后重新启动它。

如果只是为了学习/培训,使用适当的消息进行断言是一种轻松快速地找到问题的好方法。

底线 - 这完全取决于您。这里没有对错之分。

如果您确实想要断言,通常只有在不满足某些非常基本的不变量/条件时,当您的程序不知道如何从这一点开始时,您才会这样做。

关于c++ - 我应该使用断言来验证第三方功能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44101357/

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