Методы строк 2
➡️ @cpp_geek
s.erase(pos)
- удаляет из строки s с символа с индексом pos и до конца строки.s.erase(pos, count)
- удаляет из строки s с символа с индексом pos количеством count или до конца строки, если pos + count > s.size().s.insert(i, n, c)
- вставить n одинаковых символов, равных с. n имеет целочисленный тип, c - char.s.insert(i, t)
- вставить содержимое строки t. t может быть объектом класса string или C-строкой.s.insert(i, t, pos, count)
- вставить символы строки t начиная с символа с индексом pos количеством count.s.substr(pos)
- возвращает подстроку данной строки начиная с символа с индексом pos и до конца строки.s.substr(pos, count)
- возвращает подстроку данной строки начиная с символа с индексом pos количеством count или до конца строки, если pos + count > s.size().➡️ @cpp_geek
👍6
Методы строк 3
➡️ @cpp_geek
s.replace(pos, count, n, c)
- вставить n одинаковых символов, равных с. n имеет целочисленный тип, c - char.s.replace(pos, count, t)
- вставить содержимое строки t. t может быть объектом класса string или C-строкой.s.replace(pos, count, t, pos2, count2)
- вставить символы строки T начиная с символа с индексом pos количеством count.s.find(str, pos = 0)
- искать первое вхождение строки str начиная с позиции pos. Если pos не задано - то начиная с начала строки s.s.find(str, pos, n)
- искать в данной строке подстроку, равную первым n символам строки str. Значение pos должно быть задано.s.find_first_of(str, pos = 0)
- искать первое вхождение любого символа строки str начиная с позиции pos. Если pos не задано - то начиная с начала строки s.➡️ @cpp_geek
👍3
Функция any_of
Эта функция проверяет заданный диапазон, если хотя бы один элемент удовлетворяет заданному свойству, указанному в функции. Возвращает
В приведенном выше коде -6 делает условие положительным.
Вывод: There exists a negative element
➡️ @cpp_geek
Эта функция проверяет заданный диапазон, если хотя бы один элемент удовлетворяет заданному свойству, указанному в функции. Возвращает
true
, если хотя бы один элемент удовлетворяет свойству, иначе возвращает false
.В приведенном выше коде -6 делает условие положительным.
Вывод: There exists a negative element
➡️ @cpp_geek
👍2
Функция unique
unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне
➡️ @cpp_geek
unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне
[first, last)
. Он выполняет эту задачу для всех подгрупп, присутствующих в диапазоне, имеющих один и тот же элемент, присутствующий последовательно.➡️ @cpp_geek
👍2
Функция all_of
Эта функция работает со всем диапазоном элементов массива и может сэкономить время на запуск цикла для проверки каждого элемента по одному. Он проверяет заданное свойство для каждого элемента и возвращает
В приведенном выше коде отрицательный элемент -6 отрицает условие и возвращает ложь.
➡️ @cpp_geek
Эта функция работает со всем диапазоном элементов массива и может сэкономить время на запуск цикла для проверки каждого элемента по одному. Он проверяет заданное свойство для каждого элемента и возвращает
true
, когда каждый элемент в диапазоне удовлетворяет указанному свойству, иначе возвращает false
.В приведенном выше коде отрицательный элемент -6 отрицает условие и возвращает ложь.
➡️ @cpp_geek
👍5
std::string класс в C++
Класс string хранит символы как последовательность байтов с возможностью доступа к каждому символу. Рассмотрим три простые функции:
1.
2.
3.
➡️ @cpp_geek
Класс string хранит символы как последовательность байтов с возможностью доступа к каждому символу. Рассмотрим три простые функции:
1.
getline()
- функция используется для помещения потока символов, введенных пользователем, в память объекта.2.
push_back()
- функция используется для добавления символа в конец строки.3.
pop_back()
- введенная в C++11 (для строк), эта функция используется для удаления последнего символа из строки.➡️ @cpp_geek
👍7
Функции вместимости в строках
1.
2.
3.
4.
➡️ @cpp_geek
1.
capacity()
- функция возвращает ёмкость памяти, выделенную для строки, которая может быть равной или больше, чем размер самой строки. Дополнительное пространство выделяется таким образом, чтобы при добавлении новых символов в строку операции могли выполняться эффективно.2.
resize()
- функция изменяет размер строки, его можно увеличивать или уменьшать.3.
length()
- функция возвращает длину строки.4.
shrink_to_fit()
- функция уменьшает ёмкость памяти строки, делает ее равной минимально возможной. Эта операция полезна для экономии дополнительной памяти, когда мы уверены, что больше не нужно добавлять символы.➡️ @cpp_geek
👍8
Функция unique
unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне [first, last). Он выполняет эту задачу для всех подгрупп, присутствующих в диапазоне, имеющих один и тот же элемент, присутствующий последовательно.
➡️ @cpp_geek
unique используется для удаления дубликатов любого элемента, присутствующего последовательно в диапазоне [first, last). Он выполняет эту задачу для всех подгрупп, присутствующих в диапазоне, имеющих один и тот же элемент, присутствующий последовательно.
➡️ @cpp_geek
👍2
Токенизация строки
Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться.
Рассмотрим пример с функцией strtok(). Она разбивает строку по указанным разделителям и должна быть вызвана в цикле, на каждой итерации возвращая следующую часть. В конце возвращает NULL
➡️ @cpp_geek
Токенизация строки означает разделение строки относительно некоторого разделителя (разделителей). Есть много способов этого добиться.
Рассмотрим пример с функцией strtok(). Она разбивает строку по указанным разделителям и должна быть вызвана в цикле, на каждой итерации возвращая следующую часть. В конце возвращает NULL
➡️ @cpp_geek
👍3
Алгоритм lexicographic_compare
Совершает лексикографическое сравнение 2 диапазонов
Лексикографическое сравнение - это операция со следующими свойствами:
1)Два диапазона сравниваются поэлементно.
2)Первый элемент несовпадения определяет, какой диапазон лексикографически меньше или больше другого.
3)Если один диапазон является префиксом другого, более короткий диапазон лексикографически меньше другого.
4)Если два диапазона имеют эквивалентные элементы и имеют одинаковую длину, тогда диапазоны лексикографически равны.
5)Пустой диапазон лексикографически меньше любого непустого диапазона.
6)Два пустых диапазона лексикографически равны.
➡️ @cpp_geek
Совершает лексикографическое сравнение 2 диапазонов
Лексикографическое сравнение - это операция со следующими свойствами:
1)Два диапазона сравниваются поэлементно.
2)Первый элемент несовпадения определяет, какой диапазон лексикографически меньше или больше другого.
3)Если один диапазон является префиксом другого, более короткий диапазон лексикографически меньше другого.
4)Если два диапазона имеют эквивалентные элементы и имеют одинаковую длину, тогда диапазоны лексикографически равны.
5)Пустой диапазон лексикографически меньше любого непустого диапазона.
6)Два пустых диапазона лексикографически равны.
➡️ @cpp_geek
👍3
Функция strrchr()
В C++ strrchr() - это предопределенная функция, используемая для обработки строк. Эта функция возвращает указатель на всю строку после последнего появления заданного символа. Символ, последнее вхождение которого мы хотим найти, передается в качестве второго аргумента функции, а строка, в которой мы должны найти этот символ, передается в качестве первого аргумента функции.
В примере кода на картинке мы используем функцию для того, чтобы найти порядковый номер символа в заданной строке.
➡️ @cpp_geek
В C++ strrchr() - это предопределенная функция, используемая для обработки строк. Эта функция возвращает указатель на всю строку после последнего появления заданного символа. Символ, последнее вхождение которого мы хотим найти, передается в качестве второго аргумента функции, а строка, в которой мы должны найти этот символ, передается в качестве первого аргумента функции.
В примере кода на картинке мы используем функцию для того, чтобы найти порядковый номер символа в заданной строке.
➡️ @cpp_geek
👍3