在C++ 11中,std :: vector具有構造函數vector(size_type n)
,它將默認構造n
項目,它可以與缺省的可構造,可移動,不可複製的類一起使用。爲什麼C++ 11中沒有vector(size_type n,const Allocator&alloc)?
然而,與所有其他載體的構造,沒有變種,需要一個allocator,我已經使出了以下內容:
// Foo is default constructible and moveable, but not copyable
const int n = 10; // Want 10 default constructed Foos
std::vector<Foo, CustomAllocator> foos(allocator);
foos.reserve(n);
for (int i = 0; i < n; ++i)
foos.emplace_back();
有沒有更好的方式來做到這一點?標準中省略了vector(size_type n, const Allocator& alloc)
的具體原因嗎?
聽起來像規範中的缺陷。如果其中一個不存在,請提交報告。 – 2012-02-23 22:34:18
@NicolBolas是否有描述提交報告流程的文檔? – rkjnsn 2012-02-23 22:40:38
沒關係。看我的帖子。 – 2012-02-23 22:41:31