string (1)
string& assign (const string& str);
substring (2)
string& assign (const string& str, size_t subpos, size_t sublen);
c-string (3)
string& assign (const char* s);
buffer (4)
string& assign (const char* s, size_t n);
fill (5)
string& assign (size_t n, char c);
range (6)
template <class InputIterator>
string& assign (InputIterator first, InputIterator last);
initializer list(7)
string& assign (initializer_list<char> il);
move (8)
string& assign (string&& str) noexcept;

#include <iostream>
#include <string>
using namespace std;
int main()
{
string s1 = "abc";
string s2 = "def";
s1.assign(s2);
cout << s1 << endl;
string s3 = "aghia";
s1.assign(s3, 1, 3);
cout << s1 << endl;
const char *s4 = "hello";
s1.assign(s4);
cout << s1 << endl;
const char *s5 = "nice1";
s1.assign(s5, 4);
cout << s1 << endl;
s1.assign(3, 'c');
cout << s1 << endl;
string s6 = "llovee";
s1.assign(s6.begin() + 1, s6.end() - 1);
cout << s1 << endl;
initializer_list<char> s7 = {'h', 'a', 'p', 'p', 'y'};
s1.assign(s7);
cout << s1 << endl;
return 0;
}

05-28 17:39