Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Интересный сайт с разборами задач — PVS-Studio
Там собрано много крутых туториалов, котрые регулярно пополняются, они сделаны в интересном формате, который не позволит вам заснуть во время изучения
📌 Оставляю ссылочку: pvs-studio.com
📣 C++ Ready | #ресурс
Там собрано много крутых туториалов, котрые регулярно пополняются, они сделаны в интересном формате, который не позволит вам заснуть во время изучения
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5🤝1
👍13🔥6
В C++ механизмы копирования и перемещения позволяют эффективно управлять ресурсами объектов, избегая избыточных копий и улучшая производительность при передаче объектов:
1. Конструктор копирования — создает новый объект, копируя данные из существующего:
MyClass(const MyClass& other) {
data = new int(*other.data);
// Копируем данные из другого объекта
}
2. Конструктор перемещения — передает владение ресурсом от одного объекта к другому, избегая копирования данных:
MyClass(MyClass&& other) noexcept : data(other.data) {
other.data = nullptr;
// После перемещения, объект other не имеет данных
}
3. Оператор присваивания (копирования) — переназначает ресурсы, освобождая старые данные и копируя новые:
MyClass& operator=(const MyClass& other) {
if (this != &other) {
// Проверка на самоприсваивание
delete data; // Освобождаем старые ресурсы
data = new int(*other.data); // Копируем данные
}
return *this;
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥15👍8
В этом посте я научу тебя создавать простую игру "Угадай число" на C++, полезно для новичков в программировании. В игре используется модуль рандом, скрипт разбит на несколько частей, что является хорошей практикой:
- Генерация случайного числа
- Ввод игрока
- Проверка ответа
- Завершение игры
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥7🤝4👎1
Знакомы с базовыми принципами работы с векторами?
Сегодня как раз поговорим про работу с векторами в C++.
Вектор — это динамический массив, который позволяет легко добавлять элементы и управлять их количеством.
Для начала создадим пустой вектор:
Он уже готов к использованию, и его размер изначально равен 0.
Чтобы добавить элементы в конец вектора, используем метод
Теперь он содержит два элемента. Чтобы получить доступ к ним, можно использовать индексы:
Размер вектора можно изменить с помощью метода
И если нужно удалить последний элемент, используем метод
🔥 Правильное использование векторов — это залог удобного и безопасного управления динамическими данными.
Не забывайте следить за размерами коллекции, использовать методы вектора по назначению и избегать обращения к несуществующим элементам.
📣 C++ Ready | #практика
Сегодня как раз поговорим про работу с векторами в C++.
Вектор — это динамический массив, который позволяет легко добавлять элементы и управлять их количеством.
Для начала создадим пустой вектор:
std::vector<int> numbers;
Он уже готов к использованию, и его размер изначально равен 0.
Чтобы добавить элементы в конец вектора, используем метод
push_back()
. Например, добавим числа 10 и 20: numbers.push_back(10);
numbers.push_back(20);
Теперь он содержит два элемента. Чтобы получить доступ к ним, можно использовать индексы:
int first = numbers[0]; // Доступ к первому элементу
Размер вектора можно изменить с помощью метода
resize()
. Например, чтобы увеличить размер вектора до 5 элементов:numbers.resize(5);
И если нужно удалить последний элемент, используем метод
pop_back()
:numbers.pop_back();
🔥 Правильное использование векторов — это залог удобного и безопасного управления динамическими данными.
Не забывайте следить за размерами коллекции, использовать методы вектора по назначению и избегать обращения к несуществующим элементам.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🔥8🤝5
This media is not supported in your browser
VIEW IN TELEGRAM
The Algorithms — сайт, который предоставляет обширную коллекцию алгоритмов и структур данных, реализованных на различных языках программирования.
📌 Ссылочка: the-algorithms.com
📣 C++ Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥1
В C++ существует несколько способов генерации случайных чисел, от устаревших функций до современных библиотек. Рассмотрим интересные подходы, которые помогут тебе гибко генерировать случайные данные:
1. Старый способ: rand() и srand() — функция
rand()
генерирует псевдослучайные числа, и её начальное состояние можно задавать через srand()
:#include <cstdlib>
#include <ctime>
srand(time(0));
int random_number = rand() % 100; // Число от 0 до 99
// Простое решение, но с низкой статистической случайностью
2. Использование std::random_device — генерирует более надежные случайные числа, используя аппаратный генератор (если доступен):
#include <random>
std::random_device rd;
// Генерирует 32-битное случайное число
int random_number = rd();
// Подходит для криптографии, но может быть медленным
3. Настраиваемое распределение — генератор
mt19937
(Mersenne Twister) и распределения позволяют контролировать диапазон и тип случайных чисел:#include <random>
std::mt19937 gen(std::random_device{}());
std::uniform_int_distribution<> dist(1, 10);
int random_number = dist(gen); // Число от 1 до 10
// Гибкий и современный способ генерации чисел
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25👍15🤝4
Рок-группа Nanowar of Steel выпустила композицию HelloWorld, где все слова — это код из программы на Java 🤯
Проект под названием HelloWorld,java с песней на языке программирования Java опубликован на GitHub
«Добро пожаловать в первый проект Nanowar Of Steel на GitHub и первый пример песни с исходным кодом. Цель этого проекта — поддержать и обеспечить соблюдение "True Metal Programming", что по сути означает: "пиши код так плохо, чтобы только ты мог его петь", — уточнили в Nanowar of Steel.
▶️ Ну почитать подробнее и глянуть видос можешь тут - послушать имбу
📣 C++ Ready | #новость
Проект под названием HelloWorld,java с песней на языке программирования Java опубликован на GitHub
«Добро пожаловать в первый проект Nanowar Of Steel на GitHub и первый пример песни с исходным кодом. Цель этого проекта — поддержать и обеспечить соблюдение "True Metal Programming", что по сути означает: "пиши код так плохо, чтобы только ты мог его петь", — уточнили в Nanowar of Steel.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥5👎2