我正在用 C++ 编写一个队列(我不应该使用 STL)。我的出队函数需要返回它从我的队列中删除的整数。但是,如果队列为空,它应该返回什么?我应该抛出异常吗?如果是,抛出哪个异常?还是我应该返回 null(但这不会让人感到困惑,因为它本质上是零,并且看起来像是我返回了 0)?
如有任何帮助,我们将不胜感激。
最佳答案
抛出一个异常似乎是最合适的,因为用户应该总是知道你的队列中还有一个元素,或者首先通过调用 .empty()
检查它(假设你有这样一个方法)。
对于你抛出的什么异常的问题:std::logic_error
对我来说似乎很合适,使用“what”字符串指向您的类名、调用的方法以及队列为空。
关于c++ - 如果队列为空,dequeue 应该返回什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19694779/