In addition to the basic assignment operator, the string
class provides assign()
methods, which allow you to assign a whole string or a part of a string or a sequence of identical characters to a string
object. Here are the prototypes for the various assign()
methods:
basic_string& assign(const basic_string& str);
basic string& assign(basic_string&& str) noexcept; // C++11
basic_string& assign(const basic_string& str, size_type pos,
size_type n);
basic_string& assign(const charT* s, size_type n);
basic_string& assign(const charT* s);
basic_string& assign(size_type n, charT c); // assign n copies of c
template<class InputIterator>
basic_string& assign(InputIterator first, InputIterator last);
basic_string& assign(initializer_list<charT>); // C++11
Here are a couple examples:
string test;
string stuff("set tubs clones ducks");
test.assign(stuff, 1, 5); // test is "et tu"
test.assign(6, '#"); // test is "######"
The assign()
method with an rvalue reference (added by C++11) allows for move semantics, and the second new assign()
method allows one to assign an initializer_list
to a string
object.
3.144.113.163