假设我有一个带默认构造函数的类。如何通过设置其大小和默认值来初始化构造函数中的队列。
class StandardClass
{};
// will initialize a vector with 5 default standard class
std::vector<StandardClass> vec(5, StandardClass());
我如何对队列做同样的事情?
std::queue<StandardClass> que(5, StandardClass()); ???
答案 0 :(得分:7)
如果你看一下,例如this std::queue
constructor reference您将看到可以传递基础容器的实例(默认为std::deque
)。
所以你应该可以做类似
的事情std::queue<StandardClass> que(std::deque<StandardClass>(5));
答案 1 :(得分:1)
您可以通过以下方式执行此操作
std::queue<StandardClass> que
( std::queue<StandardClass>::container_type( 5, StandardClass() ) );
或更简单
std::queue<StandardClass> que
( std::queue<StandardClass>::container_type( 5 ) );