basic_string(const E *s, const A& al = A());
basic_string(const E *s, size_type n, const A& al = A());
basic_string(const basic_string& rhs);
basic_string(const basic_string& rhs, size_type pos, size_type n,
const A& al = A());
basic_string(size_type n, E c, const A& al = A());
explicit basic_string(const A& al = A());
basic_string(const_iterator first, const_iterator last,
const A& al = A());
Each constructor stores the allocator object al
(or, for the copy constructor, x.
get_allocator
()
) in
allocator
and initializes the controlled sequence to a copy of the operand sequence specified by the remaining
operands. The explicit
constructor specifies an empty initial controlled sequence.
In this implementation, if a translator does not support member template functions, the template:
template <class InIt>
basic_string(InIt first, InIt last, const A& al = A());
is replaced by:
basic_string(const_iterator first, const_iterator last,
const A& al = A());