Строки
std::string и std::string_view: текст без боли
После урока ты сможешь
- Искать, вырезать и склеивать строки
- Принимать строки в функции через std::string_view
- Разбивать строку на слова
Шаг 1 из 7
Строка — это контейнер символов
std::string во многом похож на std::vector<char>: у него есть size(), индексы, push_back и цикл по символам. Плюс много операций, специфичных для текста.
#include <print>
#include <string>
int main() {
std::string lang = "C++";
lang += "23"; // склейка
std::println("{} — {} символов", lang, lang.size());
std::println("первый: {}, последний: {}", lang.front(), lang.back());
const std::string greeting = "Hello, " + lang + "!";
std::println("{}", greeting);
std::println("{}", lang == "C++23"); // сравнение по содержимому
}
Строки сравниваются через ==, !=, <: по содержимому, посимвольно, в словарном порядке. Склеивать можно + и +=.
Проверь себя
Что выведет программа?
#include <print>
#include <string>
int main() {
std::string s = "C++";
s += "23";
std::println("{} {}", s, s.size());
}