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

Автор: @energy_it

Реклама на бирже: https://telega.in/c/cpp_ready
加入频道
🖥 Неочевидные возможности C++

Рассмотрим некоторые продвинутые фишки C++, которые часто упускаются, но могут существенно улучшить ваш код.

Начнем с std::variant — позволяет хранить значения разных типов в одной переменной, что делает ваш код более безопасным и удобным по сравнению с использованием void* или сложных структур:
#include <variant>
#include <iostream>

std::variant<int, double, std::string> data = 42;
data = 3.14;
data = "Hello, C++";

std::visit([](auto&& arg) { std::cout << arg << '\n'; }, data);


Функции с constexpr могут быть вычислены компилятором во время компиляции программы, что приводит к более эффективному и быстрому коду:
constexpr int square(int x) {
return x * x;
// Функция вычисляет квадрат числа
}

constexpr int result = square(5);
// Значение вычисляется на этапе компиляции


Под конец расскажу про Structured Bindings — упрощает работу с парами, кортежами и структурами, позволяя распаковывать значения в отдельные переменные:
std::tuple<int, double, char> getValues() {
return {42, 3.14, 'A'}
}

auto [intValue, doubleValue, charValue] = getValues();
std::cout << intValue << ", " << doubleValue << ", " << charValue << '\n';


Есть идеи, что можно будет обсудить в следующем посте? Делись мнением в комментариях!

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥21👍7
This media is not supported in your browser
VIEW IN TELEGRAM
Hacking CPP — Платформа по обучению основам программирования на C++, изучение алгоритмов, типов, различных операций и всякого такого

📌 Ссылочка: hackingcpp.com

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥5
👩‍💻 Рассмотрим различные функции!

Невозможно удержать в голове все методы языка, даже если обучаешься каждый день, поэтому держите небольшую шпаргалку по различным методам в C++

📣 C++ Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍7🤝4
📖 Unreal Engine 5 Game Development with C++ Scripting

Авторы книги предлагают пошаговые инструкции по разработке игр, начиная с основ и заканчивая более сложными аспектами

Автор: Дэвид Никсон
Год: 2021


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

📣 C++ Ready | #книга
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥2👎1
👩‍💻 Изучаем полезные методы работы с памятью и значениями в C++

• Optional — Позволяет безопасно обрабатывать возможные ошибки и неопределенные значения.

• Shared_ptr — Умный указатель, который автоматически управляет временем жизни объекта с использованием подсчета ссылок.

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

📣 C++ Ready | #метод
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍9🤝2
This media is not supported in your browser
VIEW IN TELEGRAM
AtCoder — Платформа, на которой вы можете следить за контестами по спортивному программированию, тренироваться к ним и участвовать в них

📌 Ссылочка: atcoder.jp

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👎2🔥2
🖥 Поработаем с указателями и памятью

Указатели — одна из сложных, но мощных сторон C++. Разберем их использование и подводные камни:

1. Указатели и динамическая память Использование new и delete для управления памятью:
int* ptr = new int(42);
std::cout << *ptr << std::endl; // 42
delete ptr; // Освобождение памяти


2. Умные указатели unique_ptr
Автоматизируют управление памятью, предотвращая утечки:
#include <memory>
std::unique_ptr<int> ptr = std::make_unique<int>(42);
std::cout << *ptr << std::endl; // 42


3. Передача указателя на функцию
Указатели позволяют передавать функции как параметры:
void apply(int (*func)(int), int x) {
std::cout << func(x) << std::endl;
}

int square(int x) { return x * x; }

apply(square, 5); // 25

Этот пример демонстрирует передачу функции для обработки данных

📣 C++ Ready | #техсобес
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16👍6🤝3
Что будет в консоли?
Anonymous Quiz
6%
A
16%
B
31%
C
47%
D
👍14🔥10🤝2
👩‍💻 Рассмотрим создание таймера

В этом посте мы создадим таймер на C++, который выполняет обратный отсчет времени и запускает функцию по завершению.

- Запрос времени и проверка ввода
- Функция обратного отсчета
- Вызов функции таймера
- Действие по завершении


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

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥60🤝10👍5👎1
This media is not supported in your browser
VIEW IN TELEGRAM
Знали про интересный ресурс — Tutorials Point ?

Здесь собрано очень много полезной информации о C++, также к каждому туториалу прикреплен код

📌 Ссылочка: tutorialspoint.com

📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥3🤝3