Метапрограммирование это мощный инструмент, позволяющий оптимизировать выполнение программ за счет вычислений на этапе компиляции
- Шаблонная функция для вычисления факториала
- Использование constexpr
- Универсальные шаблоны
🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23🤝6👍5
This media is not supported in your browser
VIEW IN TELEGRAM
Timus Online Judge — платформа на которой собрано огромное количество интересных задач по программированию, вы можете не просто их выполнять, а отправлять на проверку и попадать в таблицу лидеров
📌 Ссылочка: https://acm.timus.ru
📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6
C++ известен своей скоростью и эффективностью, но иногда разработчики идут по скользкому пути микрооптимизаций, которые могут навредить читаемости кода или вовсе не приносить ощутимой выгоды. Давайте разберем, когда стоит задумываться об оптимизации, а когда — нет.
Предпочтение префиксного инкремента
Хотя разница незначительна, использование префиксного
++i
вместо постфиксного i++
может дать преимущество, особенно при работе с итераторами:for (int i = 0; i < n; ++i) {
// Делаем что-то
}
Это связано с тем, что постфиксный инкремент создает временный объект, который затем уничтожается. В примитивных типах разница минимальна, но при работе с итераторами STL префиксный инкремент может быть быстрее.
Избегайте копирования, используйте `emplace_back`
Метод
emplace_back()
в контейнерах STL создает объект на месте, избегая ненужного копирования:std::vector<std::string> vec;
vec.emplace_back("Hello, World!");
Явное использование `std::move` для оптимизации перемещений
Не стоит забывать про использование
std::move
для передачи временных объектов, чтобы избежать ненужного копирования:std::string str = "Hello";
std::vector<std::string> vec;
vec.push_back(std::move(str));
Компиляторы C++ уже весьма хороши в оптимизации, и иногда избыточная ручная оптимизация может сделать код сложным для понимания.
Жми 🔥 если понравился пост
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥43👍12
This media is not supported in your browser
VIEW IN TELEGRAM
MAXimal — Интересная платформа, которая предоставляет сборник алгоритмов и книг, возьмите на заметку, если планируете поучить различные алгоритмы
📌 Ссылочка: http://e-maxx.ru
📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44🤝12👍4
📖 Алгоритмы: построение и анализ
⬇️ Скачать книгу
📣 C++ Ready | #книга
Является незаменимым ресурсом для студентов, аспирантов и профессионалов в области компьютерных наук. Она помогает развить критическое мышление и навыки решения задач, что является важным аспектом в любой области программирования
Автор: Томас Х. Чарльз E.
Год: 2013
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8🤝5👍2👎1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥33🤝17👍7
This media is not supported in your browser
VIEW IN TELEGRAM
GeeksforGeeks — это популярный онлайн-ресурс, посвященный обучению программированию и компьютерным наукам. Он предлагает широкий спектр материалов
📌 Ссылочка: geeksforgeeks.org
📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍4🤝2
🔥18👍4🤝4