我查看了cppreference.com并发现了这个
vector();
explicit vector( const Allocator& alloc );
为什么不只是
explicit vector(const Allocator& alloc = Allocator());
1 个构造函数而不是 2 个。 是否有一个原因?与
resize(std::size_t,const T& t)
和相同
resize(std::size_t)
为什么不只是resize(std::size_t,const T& t = T())
explicit vector(const Allocator& alloc = Allocator());
需要 Allocator
既可默认构造又可复制构造。 如果 Allocator
无法执行其中一项操作,那么您将无法默认构造 vector
。