|   | *Oбъявление:*   | 
|   |   | 
|   | _string s;_   размер - до 2Гбт | 
|   |   | 
|   | _cin >> s;    // Если строка не содержит пробелов_ | 
|   | _getline(cin,s);         // Если строка содержит пробелы_ | 
|   |   | 
|   | _d=s.length();    // Длина строки - количество символов в ней_ | 
|   |   | 
|   | Над строковыми переменными возможно выполнение следующих операций,функций и процедур. | 
|   |   | 
|   | *Операции:* | 
|   |   | 
|   | сравнения ( ==(равно) \!=(не равно) < <= > >=) | 
|   | конкатенации + _s4=s1+s2+s3;_   ( объединение строк ) | 
|   | \\ | 
|   | \\ | 
|   |   | 
|   | *Функции:* | 
|   |   | 
|   | _d =s.length();               // вернуть длину строки_ | 
|   | _s2=s1.substr(Index,Count);      // выделить подстроку из строки s1 с позиции Index (нумерация с нуля\!\!\!) Count символов_ | 
|   |   | 
|   | _s.erase(Index,Count)         // удалить из строки s, с позиции Index, Count символов. Результат оставить в строке s_ | 
|   |   | 
|   | _s1.insert(Index,s2);         // вставить в строку s1 c позиции Index строку s2_ | 
|   |   | 
|   | _p=s1.find(s2)                  // найти позицию первого вхождения строки s1 в строку s2 то есть занести в переменную p номер первой позиции, начиная с которой строка s2 находится в строке s1 если подстроки s2 нет в строке s1, p=-1_ | 
|   |   | 
|   | _char c;_ | 
|   |   | 
|   | _int  k;_ | 
|   |   | 
|   | _c='a';_ | 
|   | _k=c;   // получить код символа_ | 
|   |   | 
|   | _k='b';_ | 
|   | _c=k;   // получить символ по коду_ | 
|   |   | 
|   | _k=c-'0';   // получить цифру по её символу_ | 
|   |   | 
|   | _c=toupper(c);    // только для латинских букв маленький символ превратить в большой_ | 
|   |   | 
|   | _c=tolower(c);               // только для латинских букв большой символ превратить в маленький_ | 
|   |   | 
|   | _string s;_ | 
|   | _int    x;_ | 
|   |   | 
|   | _x=atoi(s.c_str())    // преобразовать строку s в число  x_ | 
|   | _s=to_string;    // преобразовать число  x в строку s_ | 
|   |   | 
|   | _s{_}_\[i\]__='a';                   // Замена символа строки_ | 
|   |   | 
|   | _// Формирование строки добавлением символов_ | 
|   | _d=s.length();_ | 
|   | _p="";                              // пустая строка_ | 
|   | _for (i=0; i<d; i++) p=s{_}_\[i\]__\+p;      // переворачивание строки_ | 
|   | _// p=s{_}_\[i\]\+__'__';       добавление символа '__' после каждого символа_ | 
|   |   | 
|   | _sort(s.begin(),s.end());    // сортировка строки s_ | 
|   |   | 
|   | _isdigit(с)    // является ли символ с цифрой                        (функция)_ | 
|   | _isupper(c)    // является ли символ с большой   латинской буквой    (функция)_ | 
|   | _islower(c)    // является ли символ с маленькой латинской цифрой    (функция)_ | 
|   |   | 
|   | _cin >> n >> m;  getline(cin,s);    // "проглатывание" до конца строки после ввода чисел_ | 
|   |   | 
|   | _p=s.find_last_of(с);    // позиция последнего вхождения символа c в строку s_ | 
|   |   | 
|   | _for (i=0; i<d-2; i+=3)    // обрабатываем каждое третье i с нуля: 0,3,6,9 ..._ | 
|   |   | 
|   | _if (i%2)    // проверяем i на нечётность (остаток от деления на 2 не равен 0)_ | 
|   |   | 
|   | _int a{_}_\[10\] _=\{_}{5, 7, 4, 2, 8, 6, 1, 9, 0, 3\};    // массив констант_  | 
|   |   | 
|   | \\ | 
|   |   | 
|   |   | _int steps{_}_\[8\]\[2\]__ =\{\{_{{{}1,-2\},\{1,2\},\{-1,-2\},\{-1,2\},\{2,-1\},\{2,1\},\{-2,-1\},\{-2,1}}; // двумерный массив констант | 
|   |   | _int steps{_}_\[8\]\[2\]__ =\{ \{_{{{}1,-2\},\{1,2\},\{-1,-2\},\{-1,2\},\{2,-1\},\{2,1\},\{-2,-1\},\{-2,1}};\} \} // двумерный массив констант | 
|   |   | 
|   | \\ | 
|   |   | 
|   | [http://ru.cppreference.com/w/cpp/string/basic_string/insert]\-  всё про строки и c+\+ |