- •3. Строение памяти. Системы счисления. Двоичная система счисления
- •8. Расширенные Бэкуса-Наура формы (рбнф), Способы записи синтаксиса языка: Диаграммы Вирта. Расширенные Бэкуса-Наура формы (рбнф).
- •12. Операторы выбора: оператор if, оператор switch. Операторы выбора.
- •1. Принципы объектно-ориентированного программирования. Основными свойствами ооп являются:
- •18. Создание собственных функций-манипуляторов.
- •1.Assign(const string& str);
- •31. Последовательные контейнеры.
1.Assign(const string& str);
Первая форма записи присваивает строку str в вызывающей строке 2. assign(const string& str, size_type pos, size_type n);
Вторая форма записи присваивает в вызывающей строке n-символов str начиная с позиции pos 3. assign (const char* s, size_type n);
Третья форма записи присваивает в вызывающей строке n-символов строки s "старого типа"
string s1("Вася"), s2; s2.assign(s1); //Равносильно s2=s1;
Для добавления части одной строки к другой. Три формы записи:
1.append(const string& str) Первая форма функции добавляет строку str к концу вызывающей строки
2.append(const string& str, size_type pos, size_type n); Вторая форма добавляет n-символов строки str начиная с позиции pos
3.append(const char* s, size_type n); Третья форма добавляет к вызывающей строке n-символов "старого типа"
s2.append(s1,4,6); - добавляется к строке s2 из s1 6-символов начиная с 4-ого
Преобразования строк
Для вставки в одну строку части другой строке служит функция insert. insert(size_type pos, const char* s, size_type n); Эта форма записи вставляет в вызывающую строку n-символов строки s начиная с позиции pos
Для удаления части строки служит функция erase: erase(size_type pos=0, size_type n=npos);
Очистку всей строки можно выполнить с помощью функции clear: void clear();
Для замены части строки служит функция replace: (size_type pos1, size_type n1, const string& str, size_type pos2, size_type n2); Для обмена содержимого двух строк служит функция swap:
swap(string& s);
Для выделения части строки служит функция substr:
string substr(size_type pos=0, size_type n=npos) const;
string s4=s1.substr(4,6); - строке s4 присваиваем начиная с позиции 4 6-симолов строке s1 Поиск подстрок. Первый параметр строка, вторая - позиция size_type find(const string& str, size_type pos=0) const; Данная функция ищет самое левое(первое) вхождение строки str в вызывающую строку, начиная с позиции pos, и возвращает позицию этой строки. int compare(size_type pos1, size_type n1, const string& str) const; Вторая форма выполняет аналогичные действия, но сравнивает со строкой str n1-символов вызывающей строки, начиная с позиции pos1.
30. Контейнерные классы. последовательные:векторы (vector); двусторонние очереди (deque); списки (list); стеки (stack); очереди (queue); очереди с приоритетами (priority_queue) ассоциативные: словари (map); словари с дубликатами (multimap); множества (set); множества с дубликатами (multiset); битовые множества (bitset)
|
Поле |
Пояснение |
|
|
|
value_type |
Тип элемента контейнера |
|
|
|
size_type |
Тип индексов, счетчиков элементов и тд |
|
|
|
iterator |
Итератор |
|
|
|
const_iterator |
Константный итератор |
|
|
|
reverse_iterator |
Обратный итератор |
|
|
|
const_reverse_iterator |
Константный обратный итератор |
|
|
|
reference |
Ссылка на элемент |
|
|
|
const_reference |
Константная ссылка на элемент |
|
|
|
key_type |
Тип ключа (для ассоциативных контейнеров) |
|
|
|
key_compare |
Тип критерия сравнения (для ассоциативных контейнеров) |
|
|
Метод |
Пояснение |
|||
iterator begin(), const_iterator begin() const |
Указывают на первый элемент |
|||
iterator end(), const_iterator end() const |
Указывают на элемент, следующий за последним |
|||
reverse_iterator rbegin(), const_reverse_iterator rbegin() const |
Указывают на первый элемент в обратной последовательности |
|||
reverse_iterator rend(), const_reverse_iterator rend() const |
Указывают на элемент, следующий за последним, в обратной последовательности |
|||
