🍔 Отладочные макросы
Отладочные макросы в C++ используются для упрощения процесса отладки и диагностики программного кода
Основные отладочные макросы включают assert, static_assert и пользовательские макросы
🍓 assert
Макрос assert определён в заголовочном файле <cassert> и используется для проверки логических выражений во время выполнения программы. Если выражение вернёт false, assert завершает выполнение программы и выводит сообщение об ошибке
🍒 static_assert
static_assert введён в C++11 и позволяет проверять условия на этапе компиляции. Это особенно полезно для проверки условий, которые должны выполняться всегда, независимо от состояния программы во время выполнения
❗️Начиная с C++11 и C23 static_assert является ключевым словом
🫐 Пользовательские отладочные макросы
Вы также можете определять собственные макросы для отладки, которые помогут вам выводить дополнительную информацию или выполнять специфические проверки
Отладочные макросы в C++ используются для упрощения процесса отладки и диагностики программного кода
Основные отладочные макросы включают assert, static_assert и пользовательские макросы
🍓 assert
Макрос assert определён в заголовочном файле <cassert> и используется для проверки логических выражений во время выполнения программы. Если выражение вернёт false, assert завершает выполнение программы и выводит сообщение об ошибке
#include <cassert>
void test(int x) {
assert(x > 0 && "x must be positive");
// остальной код функции
}
int main() {
test(5); // проходит проверку
test(-3); // приводит к ошибке во время выполнения
return 0;
}
🍒 static_assert
static_assert введён в C++11 и позволяет проверять условия на этапе компиляции. Это особенно полезно для проверки условий, которые должны выполняться всегда, независимо от состояния программы во время выполнения
#include <type_traits>
template <typename T>
void check() {
static_assert(std::is_integral<T>::value, "T must be an integral type");
}
int main() {
check<int>(); // проходит проверку
check<float>(); // ошибка компиляции: T must be an integral type
return 0;
}
❗️Начиная с C++11 и C23 static_assert является ключевым словом
🫐 Пользовательские отладочные макросы
Вы также можете определять собственные макросы для отладки, которые помогут вам выводить дополнительную информацию или выполнять специфические проверки
#include <iostream>
#define DEBUG
#ifdef DEBUG
#define DEBUG_PRINT(x) std::cout << x << std::endl
#else
#define DEBUG_PRINT(x)
#endif
int main() {
int value = 42;
DEBUG_PRINT("Value: " << value);
return 0;
}
Forwarded from Библиотека дата-сайентиста | Data Science, Machine learning, анализ данных, машинное обучение
🤯 Как простая задачка поставила в тупик программистов (и как они из него выбрались)
В 2010 году пользователь Stack Overflow не справился с задачей на собеседовании. Обсуждение способов решения этого задания стало одной из самых популярных тем на платформе.
Об этой истории, а также о способах решения задачи, читайте в нашей статье
👉 Ссылка
👉 Зеркало
В 2010 году пользователь Stack Overflow не справился с задачей на собеседовании. Обсуждение способов решения этого задания стало одной из самых популярных тем на платформе.
Об этой истории, а также о способах решения задачи, читайте в нашей статье
👉 Ссылка
👉 Зеркало
Forwarded from Proglib.academy | IT-курсы
✉️❌ Как завалить собеседование, даже не начав его: 8 ошибок в сопроводительных письмах
Откликаетесь, но сразу получаете отказы? Не торопитесь с выводами — возможно, все дело в вашем сопроводительном письме.
👉 Сопроводительное — это первое впечатление, которое мы производим на эйчара, а первое впечатление, как известно, очень важно.
Собрали для вас несколько распространенных ошибок по составлению такого письма — а в статье по ссылке можно найти остальные ошибки и пример идеального сопроводительного.
Кстати, вакансии можно поискать в наших профильных каналах:
🤮 Data Science, анализ данных, аналитика
🤮 Python
🤮 Frontend
Откликаетесь, но сразу получаете отказы? Не торопитесь с выводами — возможно, все дело в вашем сопроводительном письме.
Собрали для вас несколько распространенных ошибок по составлению такого письма — а в статье по ссылке можно найти остальные ошибки и пример идеального сопроводительного.
Кстати, вакансии можно поискать в наших профильных каналах:
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🍔 Дорожная карта для изучения C с нуля
• Автор делится списком полезных ресурсов для изучения Си с нуля
• В статье представлены различные области, в которых автор нуждался в дополнительном разъяснении
• Автор предлагает начать свой собственный проект, выбрав тему, которая действительно интересует
• Для изучения внутренней части ОС x86-64 рекомендуется разработка драйвера ядра и руткита
👉 Ссылочка
• Автор делится списком полезных ресурсов для изучения Си с нуля
• В статье представлены различные области, в которых автор нуждался в дополнительном разъяснении
• Автор предлагает начать свой собственный проект, выбрав тему, которая действительно интересует
• Для изучения внутренней части ОС x86-64 рекомендуется разработка драйвера ядра и руткита
👉 Ссылочка
💵 ТОП-15 самых востребованных профессий в ИТ: куда все катится в 2024 году
Мы часто рассказываем про то, как обстоят дела с зарплатами айтишников в России. И это вполне логично, ведь большинство наших читателей живет именно здесь. Но говоря только про Россию, мы совершенно забываем про США. И очень зря, ведь эта страна — мечта для многих программистов. В этой статье рассказываем, сколько получают айтишники в США и стоит ли вкатываться в ИТ сейчас
👉 Ссылка на статью
Мы часто рассказываем про то, как обстоят дела с зарплатами айтишников в России. И это вполне логично, ведь большинство наших читателей живет именно здесь. Но говоря только про Россию, мы совершенно забываем про США. И очень зря, ведь эта страна — мечта для многих программистов. В этой статье рассказываем, сколько получают айтишники в США и стоит ли вкатываться в ИТ сейчас
👉 Ссылка на статью
🔮 Почему using namespace std; является плохой практикой?
Anonymous Quiz
7%
Скомпиливанный код получается больше из-за импортированных символов
64%
В коде использующем функции с одинаковым прототипом из разных библиотек, будет ошибка компиляции
29%
Он автоматически включает все заголовочные файлы стандартной библиотеки
Как называется вызов функции внутри той же функции?
Anonymous Quiz
2%
подфункция
92%
рекурсия
5%
внутренний вызов
1%
бесконечный цикл
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Что демонстрирует объявление переменной c2?
Anonymous Quiz
27%
Преобразование типов
63%
Символьная арифметика
6%
Недопустимое объявление
5%
Неопределённое поведение
Примером чего является это объявление?
Anonymous Quiz
28%
Узел (Node)
32%
Связный список (Linked List)
4%
Стек (Stack)
36%
Двоичное дерево (Bunary Tree)
Какую самую маленькую программу можно скомпилировать и запустить без ошибок?
Anonymous Quiz
4%
main()
42%
int main() {return 0;}
7%
main() { ; }
46%
main() { }
Подписывайтесь на наш новый канал про нейросети для создания изображений, там есть:
Please open Telegram to view this post
VIEW IN TELEGRAM
Си обрабатывает все устройства, такие как дисплей и клавиатуру, как файлы. Какой файл открывается автоматически при выполнении программы?
Anonymous Quiz
45%
stdout
40%
stdio.h
14%
default.h
1%
string.h