如何使用n个默认值初始化队列?

use*_*838 4 c++ queue stl c++11

假设我有一个默认构造函数的类.如何通过设置其大小和默认值来初始化构造函数中的队列.

class StandardClass
{};

// will initialize a vector with 5 default standard class 
std::vector<StandardClass> vec(5, StandardClass()); 
Run Code Online (Sandbox Code Playgroud)

我如何对队列做同样的事情?

std::queue<StandardClass> que(5, StandardClass()); ???
Run Code Online (Sandbox Code Playgroud)

Som*_*ude 7

如果查看std::queue构造函数引用,您将看到可以传递基础容器的实例(默认为std::deque).

所以你应该可以做类似的事情

std::queue<StandardClass> que(std::deque<StandardClass>(5));
Run Code Online (Sandbox Code Playgroud)