如何初始化一个有n个默认值的队列?

How to initialize a queue with n default values?

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

class StandardClass
{};

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

如何对队列执行相同的操作?

std::queue<StandardClass> que(5, StandardClass()); ???

如果您查看例如this std::queue constructor reference you will see that you can pass an instance of the underlying container (defaults to std::deque).

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

std::queue<StandardClass> que(std::deque<StandardClass>(5));

您可以通过以下方式进行

std::queue<StandardClass> que
    ( std::queue<StandardClass>::container_type( 5, StandardClass()  ) );

或更简单

std::queue<StandardClass> que
    ( std::queue<StandardClass>::container_type( 5 ) );