C/C++ Ready | Программирование
12.2K subscribers
707 photos
42 videos
338 links
Авторский канал по разработке на C и C++.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
👩‍💻 Lambda-выражения

В посте рассмотрим применение лямбда-функций в коде, как правильно их создавать и работать с переменными

Lambda — анонимные функции, которые можно определять прямо в коде, не создавая отдельные именованные функции.


🔥 — если узнал новое
🤝 если уже пользовался

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥47🤝13👍41
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
🖥 Какие ключевые особенности C++11 могут улучшить производительность кода?

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


Жми 🔥 если понравился пост

📣 C++ Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍12🤝2
📖 Объектно-ориентированное программирование в С++

Книга введет вас в тему объектно-ориентированного программирования, каждая теоретическая часть закреплена практической частью - кодом. После прочтения вы полностью погрузитесь в тему ООП, т.к в книге насчитывается около 900 страниц

Автор: Лафоре Р.
Год: 2004


⬇️ Скачать книгу

📣 C++ Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥7
👩‍💻 Метапрограммирование с использованием шаблонов

Метапрограммирование это мощный инструмент, позволяющий оптимизировать выполнение программ за счет вычислений на этапе компиляции

- Шаблонная функция для вычисления факториала
- Использование constexpr
- Универсальные шаблоны


🔥 — если узнал новое
🤝 если уже пользовался

📣 C++ Ready | #гайд
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++: когда это действительно имеет значение?

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++ уже весьма хороши в оптимизации, и иногда избыточная ручная оптимизация может сделать код сложным для понимания.


Жми 🔥 если понравился пост

📣 C++ Ready | #практика
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
👩‍💻 Шпаргалка по библиотеке Algorithm

В этой шпаргалке присутствуют функции из библиотеки <algorithm>, которые помогают в работе с текстом и другими данными

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44🤝12👍4