2013-07-30 1 views
0

, который здесь называется конструктором?У нас есть вектор, но не ясно, какой конструктор называется

std::vector<bool> v(256, false); 

контейнер вектор из четырех конструкторов:

default (1) 
explicit vector (const allocator_type& alloc = allocator_type()); 
fill (2)  
explicit vector (size_type n, const value_type& val = value_type(), 
       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); 

и где находится логический параметр в конструктор?

ответ

3

Этот конструктор будет называться:

explicit vector (size_type n, const value_type& val = value_type(), 
       const allocator_type& alloc = allocator_type()); 

value_type является ЬурейиМ элементом типа, что вектор содержит. Для std::vector<bool> value_type is bool. Все 256 элементов будут заполнены значением false.

От C++ ссылки:

валь - Значение для заполнения контейнера. Каждый из n элементов в контейнере будет инициализирован копией этого значения. Тип члена value_type - это тип элементов в контейнере, определенный в векторе как псевдоним его первого параметра шаблона (T).

http://www.cplusplus.com/reference/vector/vector/vector/

+0

Спасибо за хороший ответ. –

Смежные вопросы