Делимся компактным справочником по основным типам данных в C++. Сохраняйте себе на будущее.
🔢Целочисленные типы
• int — 4 байта, от -2,147,483,648 до 2,147,483,647 • short — 2 байта, от -32,768 до 32,767 • long — 4 байта (Windows) или 8 байт (Unix) • long long — 8 байт, от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807
Модификаторы: • unsigned — только положительные числа, удваивает верхний предел • signed — со знаком (по умолчанию)
unsigned int counter = 100; short temperature = -15; long long population = 7800000000;
1. Используйте **size_t для индексации и размеров 2. Для целых чисел с гарантированным размером используйте типы из <cstdint>: int32_t, uint64_t 3. Для денежных расчетов избегайте float из-за погрешностей округления Библиотека C/C++ разработчика#буст
🐧Пингвин, покоривший мир: история взлета Linux – ОС, управляющей 96% серверов
В 1991 году на компьютере с 4 мегабайтами памяти родилась программа, которая сегодня управляет большей частью интернета, смартфонами и даже космическими аппаратами. Это история Linux, рассказанная одним из первых свидетелей.
❗️Вакансии «Библиотеки программиста» — ждем вас в команде!
Мы постоянно растем и развиваемся, поэтому создали отдельную страницу, на которой будут размещены наши актуальные вакансии. Сейчас мы ищем: 👉контент-менеджеров для ведения телеграм-каналов
В нашем чате работает бот Shieldy — он защищает от спама, запрашивая у новых участников решение простой капчи.
⚠️Проблема, с которой сталкиваются многие: вы нажимаете под постом «Прокомментировать», пишете что-то, а потом получаете бан и не можете писать комментарии.
❓Почему так: Shieldy отправляет капчу в сам чат, а не в комментарии под конкретный пост. Из-за этого капчу можно не увидеть, не отправить ответ на нее, и бот автоматически заблокирует вас.
✅Как присоединиться к чату, чтобы бот вас не забанил
— Зайдите в описание канала с телефона и нажмите кнопку Discuss / Чат — Нажмите Join / Присоединиться — Сразу обратите внимание на сообщение от бота Shieldy — Решите простой пример и отправьте ответ в чат
После этого бот отправит приветственное сообщение и вы сможете оставлять комментарии. Эту проверку нужно пройти только один раз при вступлении в чат.
❗️ Если вас все-таки забанили
— Это временная блокировка на несколько минут — Подождите и попробуйте зайти позже, бот снова отправит вам капчу
Админы канала никак не могут ускорить процесс, бот автоматически снимает с вас блокировку через пару минут. Мы понимаем, что эта система неидеальна, и ищем более удобное решение.
👾 Спасибо, что активно участвуете в обсуждении наших постов!
🧩💊 Алгоритмическая самоуспокоенность: как мы разучились думать своей головой
Каждый день мы сталкиваемся с бесконечным потоком информации, которая не просто наполняет наш день, а управляет нашими мыслями. Социальные сети, алгоритмы и вечная гонка за вниманием приводят к тому, что мы забываем, как думать собственной головой.
Это не просто влияет на настроение, но и на способность анализировать информацию, принимать решения и, главное, не становиться частью системы манипуляций.
Если вы хотите вернуться к осознанному подходу в восприятии мира и научиться фильтровать контент, то эта тема точно для вас.
✅Чек-лист: Оптимизация производительности C++ программ
Правильные приемы оптимизации могут значительно ускорить ваш C++ код без ущерба для читаемости и поддерживаемости. Используйте этот чек-лист, чтобы ваши программы работали максимально эффективно.
🎯Управление памятью
✓ Предпочитайте умные указатели (std::unique_ptr, std::shared_ptr) сырым ✓ Используйте move-семантику для избежания ненужного копирования ✓ Размещайте часто используемые объекты рядом для лучшего кэширования ✓ Применяйте пул объектов для частого создания/уничтожения однотипных объектов
🎯Эффективное использование STL
✓ Используйте резервирование памяти (reserve()) в контейнерах ✓ Выбирайте подходящие алгоритмы из вместо собственных реализаций ✓ Применяйте emplace_back() вместо push_back() для конструирования на месте ✓ Используйте соответствующие контейнеры для конкретных задач (unordered_map для хэш-таблиц)
🎯Compiler Optimizations
✓ Компилируйте с флагами оптимизации (-O2, -O3) ✓ Используйте профилировщики (gprof, valgrind) для выявления узких мест ✓ Применяйте встроенные функции (inline) для часто вызываемых небольших методов ✓ Проверяйте выравнивание данных для SIMD-инструкций
🎯Многопоточное программирование
✓ Используйте std::async и std::future для асинхронных операций ✓ Минимизируйте блокировки и предпочитайте атомарные операции ✓ Правильно разделяйте данные между потоками для уменьшения конкуренции ✓ Применяйте пул потоков для обработки множества мелких задач
Как измерить результаты: используйте бенчмарки для измерения производительности до и после оптимизации, применяйте инструменты профилирования для отслеживания улучшений.
🤫 Оптимизация с использованием SIMD-инструкций и правильной обработки кэша процессора может ускорить критические участки кода в 4-10 раз!
🎮💾 Оптимизация памяти в Unity: как избежать лагов и повысить FPS в играх
Оптимизация памяти в Unity — ключ к стабильной работе игр. Если хочется избежать лагов и повысить FPS, важно правильно управлять памятью. Использование эффективных методов загрузки и выгрузки данных, уменьшение количества аллокаций и грамотное применение сборщика мусора помогут улучшить производительность и стабильность игры.
«Как интегрировать Rust и C++ без утечек памяти и UB?» — такие вопросы часто возникают у разработчиков, которые хотят использовать Rust для своих проектов, но вынуждены работать с legacy-кодом на C++.
💡В статье подробно разбирается, как создать безопасные FFI-интерфейсы для интеграции Rust с C/C++ библиотеками, минимизируя риски утечек памяти и неопределенного поведения.
❗Ключевые моменты статьи:
• использование ключевого слова extern для взаимодействия с внешними библиотеками; • применение RAII для автоматического управления ресурсами; • интеграция C++ классов через C-совместимые обертки.
Основной фокус — на безопасность и минимизацию unsafe-кода, что особенно важно при работе с legacy-системами.
Статья будет полезна разработчикам, которые хотят интегрировать Rust в проекты с большим количеством C/C++ кода, а также тем, кто интересуется безопасным управлением памятью и FFI.