C++标准库中的`queue`容器提供了`front()`和`back()`成员函数,分别用于获取队列的第一个元素和最后一个元素。然而,这两个函数并不适用于查看队列的第一个元素,因为它们会改变队列的状态。为了实现查看队列第一个元素的功能,我们可以自定义一个类来继承`queue`容器,并重写`front()`和`back()`成员函数。
以下是一个简单的C++代码示例,展示了如何实现一个具有`peek()`功能的队列:
```cpp
#include
#include
template
class MyQueue : public std::queue
public:
T peek() const {
if (!this->empty()) {
return this->front();
} else {
throw std::runtime_error("队列为空,无法查看第一个元素");
}
}
};
int main() {
MyQueue
myQueue.push(1);
myQueue.push(2);
myQueue.push(3);
try {
std::cout << "队列的第一个元素是:" << myQueue.peek() << std::endl;
} catch (const std::runtime_error& e) {
std::cerr << e.what() << std::endl;
}
return 0;
}
```
在这个示例中,我们定义了一个名为`MyQueue`的模板类,它继承自`std::queue
以上关于c queue peek-PEEK百家百科内容为上海春毅新材料原创,请勿转载!