Охват к подписчикам
313,3%
ERR
Реакции к просмотрам
0,82%
166 на 23 постов
Пересылки к просмотрам
0,67%
135
Постов в день
0,0
всего 23
Где отзываются чаще
доля реакций к просмотрам- 11 маяДобрый день! Из-за отключения света в корпусе сегодняшней пары не будет4,56%
- 16 мар.Добрый день! Вынужден сегодня отменить пару, потому что должен присутствовать на встрече по основной работе2,41%
- 27 мар.Скорее всего, лекция в понедельник начнётся в 17 часов Но пока не знаю, где она будет1,46%
- 28 сент. 2025 г.без подписи1,13%
- 27 янв.🏗 Тетрис в памяти: Почему порядок полей в классе важен? Вы создали простую структуру: bool, int и еще один bool. Математика проста: 1 байт + 4 байта + 1 байт = 6 байт. Вы проверяете через sizeof и видите... 12 байт. 🤯 Куда делись еще 6 байт? Вы только что потеряли 50% памяти на "воздух". Это называется Padding (Выравнивание). ⚙️ Как это работает? Процессор не любит читать данные по произвольным адресам. Ему удобно читать кусками по 4 или 8 байт (слова). Чтобы int (4 байта) не "разломился" посередине двух слов, компилятор вставляет пустые байты-заглушки. ❌ Плохой пример (Bad Layout): struct Bad { bool a; // 1 байт // ... 3 байта PADDING (воздух) ... int b; // 4 байта (должен начинаться с кратного 4 адреса) bool c; // 1 байт // ... 3 байта PADDING (чтобы выровнять общий размер) ... }; // Итог: 12 байт ✅ Хороший пример (Good Layout): Просто меняем порядок полей. Правило: "От больших к маленьким". struct Good { int b; // 4 байта bool a; // 1 байт bool c; // 1 байт // ... 2 байта PADDING (добиваем до кратности 4) ... }; // Итог: 8 байт 📉 Почему это важно? Кажется, что 4 байта ерунда. Но если у вас std::vector<Bad> на 1,000,000 элементов: ⚫️Bad: ~12 MB памяти. ⚫️Good: ~8 MB памяти. Вы экономите 4 мегабайта просто переставив строчки местами! Плюс, более плотные данные лучше ложатся в кэш процессора (CPU Cache), что ускоряет обработку. 💡 Совет: Объявляйте поля в порядке убывания их размера: 1. Указатели и double (8 байт) 2. int, float (4 байта) 3. short (2 байта) 4. bool, char (1 байт) #cpp #optimization #memory #alignment #coding #tips ➡️ @cpp_geek1,09%
- 27 мар.Лекция 22. Использование наследования и полиморфизма для чтения/записи файлов разных форматов #лекция1,04%
- 1 апр.Все лекции на Яндекс-диске https://disk.yandex.ru/d/WgR3ciAR4GYI5A1,00%
- 3 окт. 2025 г.без подписи0,91%
- 6 июн.Ведомости закрыл Проверьте, пожалуйста, оценки Если что-то не так, дайте знать0,75%
- 6 маяЛекция 28. Подключение проекта Метеостанция к Qt #лекция0,51%
- 20 апр.Команды для работы с сабмодулями git submodule add https://github.com/chriskohlhoff/asio.git ext/asio git submodule init git submodule update git submodule deinit -f ext/asio git rm -f ext/asio rm -rf .git/modules/ext/asio0,48%
- 25 маяДобрый день! Сегодня новой темы не будет Я буду в 225ой в 17, если есть вопросы или нужна консультация, приходите0,45%