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

Автор: @energy_it

Заявление в РКН: № 6188956972

Реклама на бирже: https://telega.in/c/cpp_ready
Download Telegram
👩‍💻 Почему фигурные скобки спасают код?

Они по умолчанию защищают от незаметных преобразований типов и выбирают очевидный способ создания объектов.

Что важно знать:
Защита от потерь;

Читается одинаково везде;

Выявляет скрытые ошибки.


Ставьте фигурные скобки по умолчанию, а круглые оставьте для редких, явно нужных особых случаев.

📣 C++ Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24🤝9👍31
🤨 Многие об этом не знают и почти не используют!

Вместо nullptr, -1 или "N/A" теперь можно возвращать отсутствие значения безопасно и явно — с помощью std::optional.

Пример: функция find_name() возвращает std::optional<std::string>. Если элемент найден — вернёт строку, если нет — std::nullopt.

🔥 Явно показывает, что результат может отсутствовать и избавляет от неочевидных ошибок и nullptr-проверок,

📣 C++ Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥146👍3
Думаешь о переходе в DevOps, но не знаешь, с чего начать?

Это нормально. Всё больше разработчиков смотрят в сторону DevOps — там выше зарплаты, интереснее задачи и виден весь продукт, а не только код.

Но часто мешают сомнения:
🤔 «Я не админ, слишком сложно»
😑 «Потеряю кучу времени»
😬 «Придётся учить всё с нуля»

На деле — у тебя уже есть база: ты понимаешь код, работаешь с Git и умеешь автоматизировать задачи. Этого достаточно, чтобы уверенно перейти в DevOps.

Твой план может выглядеть так:
1️⃣ Linux и CI/CD (Jenkins, GitLab CI, GitHub Actions)
2️⃣ Контейнеры — Docker, Kubernetes
3️⃣ Облака — AWS, GCP или Azure
4️⃣ Pet-проекты и open source
5️⃣ DevOps-задачи в текущей команде

На всё уйдёт 6–12 месяцев при системном подходе.

А если хочешь ускорить процесс и избежать ошибок — запишись на бесплатную консультацию с тьютором.

📍Что ты получишь:
— оценку текущего уровня,
— индивидуальный план перехода,
— рекомендации по инструментам.

🔗 Выбери удобное время — в боте.

Кажется, что путь в DevOps — сплошные грабли, но на деле это ровная дорога, если идти с картой 😉
Многие уверены, что при возврате локального объекта из функции обязательно сработает копирование или хотя бы перемещение.

Но это не так. Правильный ответ: ничего не копируется и не мувится вовсе.

Компилятор просто создаёт объект сразу на месте вызова функции — это и есть Named Return Value Optimization (NRVO).

Разберёмся на примере:
#include <iostream>

struct Probe {
Probe() { std::cout << "default\n"; }
Probe(int) { std::cout << "ctor\n"; }
Probe(const Probe&) { std::cout << "copy\n"; }
Probe(Probe&&) noexcept { std::cout << "move\n"; }
};

Probe makeProbe(int x)
{
Probe p{x};
return p; // ← здесь сработает NRVO
}

int main()
{
auto obj = makeProbe(42);
}


Многие ждут хотя бы move, но результат:
ctor


Ни копии, ни мува.
Объект p создаётся сразу в месте obj — без промежуточных конструкторов.

Теперь внесём "улучшение", которое сломает оптимизацию:
Probe makeMoved(int x)
{
Probe p{x};
return std::move(p); // кажется, мы помогаем...
}


Результат:
ctor
move


Добавив std::move, мы запретили NRVO и заставили компилятор действительно переместить объект.

🔥 Не вставляйте std::move, если возвращаете локальный объект по имени.
Дайте компилятору сделать работу за вас.

📣 C++ Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍4🔥3
Программисты из Telegram создали сильнейшие IT- каналы

🐍 Ghostly Python - автоматизируй всё, что можешь. Боты, скрипты, парсеры, утилиты - делаем Python простым и полезным. Уверенный старт для новичков и не только.

☕️ Easy Java - Java без боли. От основ до фреймворков. Просто, понятно и по делу. Если хочешь реально понять язык - тебе сюда.

😎 IT Syndicate - главный хаб для тех, кто живёт IT. GameDev, InfoSec, Frontend, DevOps, AI и многое другое. Готовь мозг, тут будет жарко.

🧡 Ghostly Frontend - фронтенд без лишнего шума. HTML, CSS, JavaScript, React, Vue — всё, что нужно, чтобы создавать быстрые и красивые интерфейсы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👎2