如何初始化一个有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 ) );
假设我有一个带有默认构造函数的 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 ) );