Перейти к содержанию

Последнее обновление:2026-10-12

Разбор вопросов собеседования про STL string

Сегодня поделюсь с вами задачей про строки, связанной с собеседованиями: всего 4 случая. Напишите в комментариях, что произойдёт в этих четырёх местах.

std::string должен быть знаком каждому, а std::string_view — это представление, введённое после C++17; при необходимости почитайте о нём. Ниже два литерала: строковый литерал и литерал string_view, обозначаемые s и sv.

Первые два вопроса — функции, возвращающие std::string_view, но с некоторым различием: одна основана на c-style string, другая — на string.

Последние два вопроса — построение из строкового литерала и из литерала string_view.

Итак, задача описана — до встречи в комментариях~

std::string_view getBar() {
  std::string b{"it is bar."};
  return b;
}

std::string_view getFoo() {
  return "It is foo.";
}

using namespace std::string_literals;
using namespace std::string_view_literals;
std::cout << getFoo() << std::endl;   // 1
std::cout << getBar() << std::endl;   // 2
std::string_view svf{"Hello foo"s};  
std::cout << svf << std::endl;              // 3
std::string_view svff{"Hello foo"sv}; 
std::cout << svff << std::endl;             // 4

Похожие темы

Комментарии