甲向量被定義爲爲什麼allocator在構造函數中?
template < class T, class Alloc = allocator<T> > class vector;
每個向量構造(或每種類型的一個過載)具有分配器的過載和默認構造具有一個爲好。分配器已在類模板中指定。什麼是構造器分配器?
從http://www.cplusplus.com/reference/vector/vector/vector/
default (1)
explicit vector (const allocator_type& alloc = allocator_type());
fill (2)
explicit vector (size_type n);
vector (size_type n, const value_type& val,
const allocator_type& alloc = allocator_type());
range (3)
template <class InputIterator>
vector (InputIterator first, InputIterator last,
const allocator_type& alloc = allocator_type());
copy (4)
vector (const vector& x);
vector (const vector& x, const allocator_type& alloc);
move (5)
vector (vector&& x);
vector (vector&& x, const allocator_type& alloc);
initializer list (6)
vector (initializer_list<value_type> il,
const allocator_type& alloc = allocator_type());
它允許您傳遞分配器的特定實例。 – juanchopanza
@juanchopanza:當使用類模板析構函數調用向量析構函數時它不會中斷嗎? – user2814152
我看不出爲什麼它應該打破。標準庫容器的設計並非如此簡單。 – juanchopanza