std::source_location из C++20 хранит файл, функцию и строку вызова как данные времени компиляции, а не как текстовую подстановку.">
Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpSpPpSl 489 of 696 menu
◀ ▶

Текущее место через std::source_location в C++

Тип std::source_location из C++20 хранит файл, функцию и строку вызова как данные времени компиляции, а не как текстовую подстановку.

Статический метод current собирает координаты в точке, где его вызвали; это альтернатива связке __FILE__ и __LINE__ на уровне языка. Подключим <source_location> и выведем номер строки:

#include <iostream> #include <source_location> int main() { auto here = std::source_location::current(); std::cout << here.line() << "\n"; return 0; }

Сохраните std::source_location::current в константу. Выведите file_name и line через пробел.

Напишите void mark(), печатающую line из current внутри функции. Вызовите ее из main.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить