современному плюсовику-затейнику от препроцессора?
Не считая извращений вроде UnrealEngine'овских макросов.
Ну и, конечно, если есть ссылка на статью/доклад - буду рад увидеть вместо того чтобы мучать вас расспросами
ifndef define endif?
header guard
Знать нужно. И знать всё. Потому что там два с половиной оператора. Знать там нечего
ну то, что тут написали - это все знают
с модулями перестанет быть нужным. Не говоря уж о том, что это, по сути, просто сниппет, а не какое-то специальное применение
Можешь написать на препроц. Макрос для логирования текста строки кода с именем файла и номером строки и функцией, и чтобы это всё работало?
как минимум остался легаси код
Можешь в бусте глянуть как макросы применяются
воот, спасибо, я примерно такие примеры и имел в виду. А зачем, собственно, в макросах, сейчас же будет std::stacktrace и у source_location?
Да, но раньше через препроцессор это делалось
Нужно уметь его читать
А по другому никак. А, ещё лигирование должно ОТКЛЮЧАТЬСЯ, так, чтобы оставляя только сам чистой код
И сейчас делается
Напиши макрос для тестов, который по списку параметров сгенерирует лямбду которая вернёт json для записи инфы об ошибке в лог
макросы все еще актуальны для включения и выключения платформозависимых частей кода, и как минимум в некоторой степени в качестве интерфейса для сборочной системы
по-прежнему не вижу особого смысла, если честно. IMHO если уж система логирования, то: 1. Готовая либа, а не костыли 2. Рантайм выбор уровня логирования - так что языковых(не препроцессорных) средств должно хватить То же самое и с тестами, кстати.
Так если тебе надо эту самую лижу сделать, то чё?
рантайм выбор уровня логирования требует проверок в рантайме, если логов много то эта куча ветвлений хорошо ломает конвеер процессору
РАН тайм выбор плохо - медленно может быть...
Если часто не менять то норм же
Обсуждают сегодня