Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥47🤝13👍4❤1
This media is not supported in your browser
VIEW IN TELEGRAM
freeCodeCamp — платформа на которой вы найдете отличные видеоуроки и другие материалы на разные темы программирования, также там есть курсы по английскому, всем советую!
📌 Ссылочка: freecodecamp.org
📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13🤝4👎2
1. Передача значений с помощью rvalue-ссылок — Rvalue-ссылки (
&&
) позволяют избежать копирования при передаче временных объектов:std::vector<int> v1 = {1, 2, 3};
std::vector<int> v2 = std::move(v1); // перемещение, а не копирование
2. Лямбда-функции для локальных операций — Лямбды позволяют определять короткие инлайн-функции прямо в месте использования:
auto square = [](int x) { return x * x; };
std::cout << square(5); // вывод: 25
3. auto для автоматического определения типа — его использование позволяет компилятору выбирать оптимальный тип, что позволяет избежать ошибок при аннотации типов:
auto num = 42; // num автоматически становится int
Жми 🔥 если понравился пост
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍12🤝2
📖 Объектно-ориентированное программирование в С++
⬇️ Скачать книгу
📣 C++ Ready | #книга
Книга введет вас в тему объектно-ориентированного программирования, каждая теоретическая часть закреплена практической частью - кодом. После прочтения вы полностью погрузитесь в тему ООП, т.к в книге насчитывается около 900 страниц
Автор: Лафоре Р.
Год: 2004
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥7
Метапрограммирование это мощный инструмент, позволяющий оптимизировать выполнение программ за счет вычислений на этапе компиляции
- Шаблонная функция для вычисления факториала
- Использование 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