

- Главная
- Каталог
- Интернет технологии
- C/C++ Ready | Программирование
C/C++ Ready | Программирование
Авторский канал по разработке на C и C++
Статистика канала
Полная статистикаchevron_rightunused variable / unused parameter. Удалять их не всегда удобно, а вот пометить — можно.
С атрибутом [[maybe_unused]] ты прямо говоришь компилятору: «эта штука может не использоваться — это ок».
Например, параметр, который нужен только в отладочной сборке:
void handle_request(int id, int debug_code [[maybe_unused]]) {
#ifdef DEBUG
// В отладке логируем больше деталей
log_debug("debug_code = " + std::to_string(debug_code));
#endif
// основная логика обработки запроса
process(id);
}{}
Точно так же можно помечать локальные переменные, которые используются только в assert или временно отключены:
void foo() {
int value [[maybe_unused]] = compute_something();
// допустим, пока проверка отключена
// assert(value > 0);
do_work();
}{}
Атрибут можно навесить и на всю функцию, если она может пока ниоткуда не вызываться:
[[maybe_unused]]
void debug_dump_state() {
// вспомогательная отладочная функция
}{}
[[maybe_unused]] помогает держать код аккуратным: ты явно показываешь намерение и убираешь лишние ворнинги без костылей и странных #ifdef вокруг каждой строки.
Все бесплатно❤️
• Ироничные «вредные советы» по C++ из реальных проектов
• Разбор, почему советы опасны, с наглядными примерами ошибок
• Краткие выводы, как переписать код безопаснее и понятнее
🔊 Продолжай читать на Habr!
assert() для быстрого выявления ошибок во время выполнения программы. Это пригодится при отладке и проверке логики.
Подключим нужную библиотеку — она уже есть в стандартной поставке:
#include <cassert>{}
Вставляем проверку, которая должна быть всегда верной при корректной работе программы:
int x = getValue();
assert(x >= 0); // программа завершится, если x < 0{}
Если условие внутри assert() ложно, программа остановится и покажет точку сбоя. Это помогает сразу увидеть, где нарушено предположение.
Пример с указателем:
int* ptr = getPointer();
assert(ptr != nullptr); // защита от разыменования нулевого указателя{}
Возможный результат при запуске (если условие нарушено):
Assertion failed: ptr != nullptr, file main.cpp, line 6{}
🔥 Таким образом ты можешь на лету проверять важные условия по типу диапазонов или нулевых указателей.
Отзывы канала
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
C/C++ Ready | Программирование — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 14.6K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 21.5, количество отзывов – 1, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 3636.36 ₽, а за 13 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий