Один небольшой кусок логики решает, кто в списке окажется впереди, а кто уйдёт вниз, превращая сортировку в понятные читаемые правила.
В этом гайде:
• Разберём, как описывать порядок элементов простыми условиями;
• Покажем, как добавить второй признак сравнения без шума;
• Научимся быстро менять логику сортировки под разные задачи
Освоив такие приёмы, вы перестанете бояться сложных списков и будете управлять ими уверенно каждый день.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12🤝6❤5👍5
Подсказки компилятору — атрибуты [[likely]] и [[unlikely]] в C++20
В современном C++ важно не только *что* делает код, но и *как часто* выполняются разные ветки. Атрибуты
С C++20 можно писать так:
Здесь мы явно говорим компилятору: позитивные значения — норма, отрицательные — редкость. Внутри
Атрибуты также работают в
Здесь
🔥 Такие подсказки не гарантируют ускорения, но помогают компилятору лучше оптимизировать горячие участки и делают намерения разработчика явными прямо в коде.
📣 C++ Ready | #практика
В современном C++ важно не только *что* делает код, но и *как часто* выполняются разные ветки. Атрибуты
[[likely]] и [[unlikely]] помогают подсказать компилятору, какие условия встречаются чаще — это может улучшить branch prediction и чуть ускорить критичные участки.С C++20 можно писать так:
int classify(int x) {
if (x >= 0) [[likely]] {
return 1; // «обычный» путь
} else [[unlikely]] {
return -1; // редкий случай
}
}
int main() {
std::cout << classify(10) << "\n"; // чаще
std::cout << classify(-5) << "\n"; // реже
}Здесь мы явно говорим компилятору: позитивные значения — норма, отрицательные — редкость. Внутри
if это выглядит аккуратно, без лишних макросов и #ifdef.Атрибуты также работают в
switch:const char* to_string_error(int code) {
switch (code) {
case 0:
[[likely]];
return "OK";
case 1:
return "Network error";
default:
[[unlikely]];
return "Unknown error";
}
}Здесь
case 0 — самый вероятный путь, а default помечен как маловероятный, но важный для диагностики.Please open Telegram to view this post
VIEW IN TELEGRAM
❤14🔥10👍7🤝1
This media is not supported in your browser
VIEW IN TELEGRAM
|- - -
|
|- - -
|
|- - -
|
|- - -
|
|- - -
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
Показываем числа всего на несколько секунд, стираем экран и спрашиваем одно из них, превращая обычный запуск программы в маленький тренажёр памяти.
В этой задаче:
• Соберёшь короткую игру, которая проверяет внимательность и память;
• Почувствуешь, как несколько секунд ожидания создают лёгкое напряжение;
• Увидишь, как привычное окно превращается в маленький полигон.
А если добавить несколько раундов, игра постепенно становится привычным вечерним зарядом для мозга на каждый день.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21❤12🤝6
Каналы с IT мероприятиями
Подписывайся,
чтобы не пропустить
1. IT мероприятия для стажеров и студентов
2. IT мероприятия по РФ
3. IT мероприятия и хакатоны
4. Бесплатные IT мероприятия
5. IT мероприятия онлайн
6. IT мероприятия Москва
7. IT мероприятия Санкт Петербург
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥3❤2🤝2