cpp_lib | Unsorted

Telegram-канал cpp_lib - Библиотека C/C++ разработчика

2630

Полезные материалы по всему, что может быть полезно плюсовику/сишнику.

Subscribe to a channel

Библиотека C/C++ разработчика

Генерация пещер при помощи клеточного автомата

Клеточный автомат — дискретная модель, изучаемая в математике, теории вычислимости, физике, теоретической биологии и микромеханике. Основой является пространство из прилегающих друг к другу клеток (ячеек), образующих решётку. Каждая клетка может находиться в одном из конечного множества состояний (например, 1 и 0).

https://habr.com/ru/articles/741564/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

💡 QT и ОС Аврора: надежная основа для разработки востребованного ПО!

❗️ Вкладывай в перспективу - вкладывай в себя!

Пройди тест из 20 вопросов и проверь, насколько хорошо nы знаешь язык C++ и готов освоить QT и ОС Аврора .
Сможешь сдать — пройдёшь на продвинутый онлайн-курс "Разработка прикладного ПО на Qt и ОС Аврора" от OTUS.

👉  ПРОЙТИ ТЕСТ:  https://vk.cc/cvtPSB

Курс доступен в рассрочку.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека C/C++ разработчика

🦾 Раскрой всю мощь C++

Пройди тест по C++ и проверь свои знания.

Ответишь
— пройдешь на продвинутый курс "C++ Developer. Professional" от OTUS по специальной цене + получишь запись мастер-класса от преподавателя курса.

➡️ ПРОЙТИ ТЕСТ: https://vk.cc/cvrZSD


На этом курсе ты:
✔️ Научишься прикладному применению стандартов C++11 / C++14 / C++17.
✔️ Освоишь асинхронное и многопоточное программирование.
✔️ Получишь глубокое представление о шаблонной магии и паттернах проектирования.

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека C/C++ разработчика

C++: Рендеринг на основе физики: от теории к реализации
Мэтт Фарр, Венцель Якоб и Грег Хамфрис

Фотореалистичная компьютерная графика повсеместно распространена в современном мире, широко используется в кино и видеоиграх, а также в дизайне продуктов и архитектуре. Физически обоснованные подходы к рендерингу, когда в основе синтеза изображения лежит точное моделирование физики рассеивания света, обеспечивают визуальную реалистичность и предсказуемость. Этот учебник по компьютерной графике, ставший бестселлером, в новом, всесторонне обновленном издании устанавливает стандарты физически-ориентированного рендеринга в индустрии и области.

Книга Physically Based Rendering описывает как математическую теорию, лежащую в основе современной системы фотореалистичного рендеринга, так и ее практическую реализацию. Метод, известный как грамотное программирование, объединяет человекочитаемую документацию и исходный код в единый справочник, специально разработанный для облегчения понимания. Передовые алгоритмы, программное обеспечение и идеи книги, включая новый материал о трассировке лучей на GPU, позволят читателю разработать и использовать полнофункциональную систему рендеринга, способную создавать потрясающие изображения.

https://www.pbr-book.org/4ed/contents

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

C++: Движок Raycasting для Wolfenstein 3D

Raycasting - это техника рендеринга для создания 3D-перспективы на 2D-карте. В те времена, когда компьютеры были более медленными, невозможно было запустить настоящие 3D-движки в реальном времени, и первым решением стал рэйкастинг. Raycasting может работать очень быстро, потому что для каждой вертикальной линии экрана нужно сделать только один расчет. Самой известной игрой, в которой использовалась эта техника, является, конечно же, Wolfenstein 3D.

https://lodev.org/cgtutor/raycasting.html

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Итак, вы унаследовали старую кодовую базу на C++. Что дальше?

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

Теперь вы отвечаете за кодовую базу на C++. Она большая, сложная и своеобразная; достаточно слишком долго на неё посмотреть, как она начинает разваливаться разными интересными способами. Иными словами, это легаси.

Но баги всё равно как-то нужно устранять, а ещё добавлять новые фичи. То есть вам нельзя просто закрыть на неё глаза или что ещё лучше, взорвать её динамитом. Она важна для компании. По крайней мере, для тех, кто платит вам зарплату. А значит, важна для вас.

И что делать теперь?

Не волнуйтесь, у меня такое случалось очень много раз и в разных компаниях (кто-то язвительный может спросить: а разве кодовые базы на C++ бывают какими-то другими?), выход есть, он не особо сложен и поможет вам действительно устранять баги, добавлять фичи, а то и когда-нибудь переписать её.

В этой статье я расскажу о том, что оказалось полезным для меня, и о том, чего стоит всячески избегать.

https://habr.com/ru/companies/ruvds/articles/798453/

original https://gaultier.github.io/blog/you_inherited_a_legacy_cpp_codebase_now_what.html

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Корутины C++ для чайников: пишем асинхронный веб-клиент

Написать этот материал меня побудило... отсутствие хороших статей по корутинам в C++ в русскоязычном интернете, как бы странно это не звучало. Ну серьезно, C++20 существует уже несколько лет как, но до сих пор почти все статьи про корутины, что встречаются в рунете, относятся к одному из двух типов. Или обзор начинается с самых глубин и мелочей, пересказывая cppreference, а потом автор выдыхается и все сводится к "ну а дальше все понятно, возьмите и примените это в своем коде", что напоминает известную картинку с совой. Либо иногда в статьях рассматривается применение корутин на примере генераторов, и этим все и ограничивается. Но, давайте будем честны, генераторы — это замечательно, но за все время моей многолетней карьеры разработчика я, вероятно, делал что‑то подобное генераторам разве что разок, в то время как асинхронный ввод‑вывод приходится использовать почти в каждом проекте. И поэтому меня гораздо больше интересует реализация асинхронного ввода‑вывода с использованием корутин, а не генераторы. Поэтому пришлось разбираться во всем самому.

https://habr.com/ru/articles/798935/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Стать сотрудником Яндекса быстрее и проще, чем кажется. Участвуйте в днях быстрого найма: решите тестовое, пройдите несколько секций собеседования и получите офер за несколько дней.

Ближайшее Fast Track мероприятия:

• 16-17 марта — для бэкенд-разработчиков с опытом на С++ или Python, офер за 2 дня в команды E-com Поиска, Алисы и Беспилотных технологий.

• 23-24 марта — для С++ разработчиков, офер за 2 дня в команды Фудтеха Яндекса.

Зарегистрироваться

Читать полностью…

Библиотека C/C++ разработчика

20 марта: C++ митап в Петербурге и онлайне

Первая за очень долгое время встреча плюсовиков в Питере уже скоро!

В программе:
• Доклад «Цена абстракции» от Константина Владимирова (Syntacore). Поговорим, как правильно использовать виртуальные функции, исключения, ranges и coroutines.

• Доклад «Линтеры: хорошо, но мало» от Евгения Фёклина (PVS-Studio). Узнаем, как работает статический анализ кода.

• Дискуссия про как организовать процесс код-ревью в команде. Опытом поделятся Илья Казаков (YADRO), Андрей Аксенов (AvitoTech, по видео), Станислав Юрченко (VK) и Александр Еналдиев (Kaspersky).

Митап бесплатный.
Забирайте место в зале или получите ссылку на трансляцию — увидимся вечером 20 марта!

Читать полностью…

Библиотека C/C++ разработчика

😎Разработчик, управляй памятью эффективно!

👉Начните на бесплатном вебинаре онлайн-курса «Программист С» — «Реализация динамических структур данных на Си и Python»: регистрация

Структура вебинара:
- Примеры динамических структур данных
- Схемы управления динамической памятью в С и Python
- Реализация бинарного дерева на С и Python
- Применение функций управления динамической памятью.

Вебинар будет полезен:
- Программистам, изучающим языки С и Python, для развития навыков в области эффективного управления памятью.
- Разработчикам в области больших данных.

🤝Понравится вебинар — продолжите обучение на курсе по специальной цене и даже в рассрочку!

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Читать полностью…

Библиотека C/C++ разработчика

Полезные материалы для С++ разработчика: о новом стандарте, висячих ссылках и технических собеседованиях

Принесли материалы с недавнего митапа по С++ — сохраняйте в закладки, чтобы посмотреть на новогодних каникулах. Что интересного ждет в подборке?

Дискуссия о технических собеседованиях, из которой вы узнаете, какие красные флаги кандидатов отмечает Константин Владимиров, как Елена Степанова относится к алгоритмическим задачам и почему Илье Шишкову важны софтскиллы.

Обзор приятных и неприятных фич С++ 23 с точки зрения практикующего разработчика, который опробовал новый стандарт на реальных проектах.

Дюжина примеров, когда механизм lifetime extension не работает, и ответы на вопросы, что делать в таких ситуациях и как избежать последствий — ненавистных висячих ссылок.

Монады, обертки, std::expected: плюсы и минусы С++ 23 глазами практикующего разработчика
Рассказал: Илья Казаков, С++ разработчик в команде систем хранения данных, YADRO

Коротко о сути доклада: Обсудили, какие проблемы закрыл, а какие создал новый стандарт языка. Илья на примерах показал, как работает новая функциональность и в каких задачах можно применять фичи С++ 23. Его фавориты — монадический std::optional и std::expected, а удаленные опции aligned_storage и aligne_union Илья обещает помнить всегда.

https://habr.com/ru/companies/yadro/articles/783472/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Файловый ввод, сделанный по-человечески

Поводом к написанию данной статьи и к разработке соответствующей мини-библиотеки ffh стало одно из практических заданий по дисциплине ‘Языки программирования’, которую я веду. В этом задании необходимо прочитать все строки из текстового файла для последующей обработки. Так вот, у студентов, выбравших для выполнения этого задания язык C++ [язык программирования выбирается студентом для каждого задания, но чаще всего выбирают C++ или Python], почему-то иногда читалась из файла лишняя пустая строка. В прошлые годы я не придавал этому большого значения, но в последний раз решил таки разобраться в чём проблема. В тексте задания у меня было написано примерно следующее:
Чтобы прочитать строку из файла на языке C++ используйте такой код:

std::string s;
std::getline(f, s);


https://habr.com/ru/articles/797321/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

⚡В OTUS идет набор в группу курса “Embedded Developer”- быстрый и интересный старт в Embedded с погружением в три самые важные области: программирование микроконтроллеров, проектирование печатных плат, схемотехника.

🔥6 марта в 20:00 мск приглашаем на открытый урок курса «Методы и принципы разработки ПО для встраиваемых устройств».

На вебинаре вы:

- узнаете ключевые методы и принципы создания эффективного и надежного ПО для микроконтроллеров и embedded устройств;
- рассмотрите проектирование и структурирование кода на основе State-машин и RTOS;
- получите комплексное понимание построения качественного ПО для встроенных систем.

👉Регистрация для участия https://otus.pw/w2Lu/?erid=LjN8KchV6

После урока возможно продолжить обучение по специальной цене и с рассрочкой платежа.

Читать полностью…

Библиотека C/C++ разработчика

Быстрый парсинг 8-битных целых чисел

Допустим, вам нужно быстро распарсить 8-битные целые числа (0, 1, 2, …, 254, 255) из строки ASCII/UTF-8. Задача взята из проекта simdzone под руководством Йероена Коеккоека (NLnet Labs). Дана строка и её длина: например, ’22’ и длина 2. Наивное решение на C может выглядеть так:

int parse_uint8_naive(const char *str, size_t len, uint8_t *num) {
uint32_t n = 0;
for (size_t i = 0, r = len & 0x3; i < r; i++) {
uint8_t d = (uint8_t)(str[i] - '0');
if (d > 9)
return 0;
n = n * 10 + d;
}
*num = (uint8_t)n;
return n < 256 && len && len < 4;
}

https://habr.com/ru/articles/784102/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Полное руководство по CMake. Часть третья: Тестирование и пакетирование

Данная статья повествует о тестировании и пакетировании программ при помощи CMake — гибкого и универсального набора утилит для разработки различных программных продуктов. Строго рекомендуется прочитать первую и вторую части руководства во избежание непонимания синтаксиса и принципа работы CMake.


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

https://telegra.ph/Polnoe-rukovodstvo-po-CMake-CHast-tretya-Testirovanie-i-paketirovanie-02-27

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

C++: Трассировка лучей за одни выходные

За годы работы я провел множество занятий по графике. Часто я провожу их по трассировке лучей. Я решил адаптировать свои заметки к курсу, чтобы как можно быстрее познакомить вас с полезной программой. Это не будет полнофункциональный трассировщик лучей, но в нем есть непрямое освещение, которое сделало трассировку лучей основным элементом в фильмах. Следуйте этим шагам, и архитектура созданного вами трассировщика лучей будет пригодна для создания более обширного трассировщика лучей, если вы увлечетесь и захотите этим заняться.

https://raytracing.github.io/books/RayTracingInOneWeekend.html

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Простое руководство по атомарности в C++

Часто возникает путаница с тем, что же понимается в компьютерных науках под «атомарностью». Как правило, атомарность – это свойство процесса, означающее, что он совершается за один шаг или операцию. Но в языке C++ атомарность определяется гораздо более специфичным образом. На самом деле, при использовании std::atomic с классами и типами еще не гарантируется, что весь код будет подлинно атомарным. Хотя, атомарные типы и входят в состав языка C++, сами атомарные операции должны поддерживаться на уровне того аппаратного обеспечения, на котором работает программа. Эта статья – простое руководство, помогающее понять, что же представляет собой атомарность в C++.

https://blog.devgenius.io/a-simple-guide-to-atomics-in-c-670fc4842c8b

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Ecs-cpp

Entity Component System (ECS) - это шаблон проектирования, который используется для разделения данных и логики. Это способ организовать код таким образом, чтобы он был более гибким и удобным в обслуживании. Этот паттерн часто используется в игровых движках, но может применяться и в других приложениях.

Рассматривайте его как контейнер, в котором хранятся сущности, и каждая сущность может иметь один или несколько компонентов. Компонент - это структура данных, которая хранит данные, а система - это функция, которая работает с сущностями, имеющими определенный набор компонентов. Систему можно рассматривать как функцию, которая принимает набор компонентов и выполняет операции над ними. Контейнер ECS отвечает за отслеживание того, какие сущности имеют те или иные компоненты, и какие системы должны быть запущены на тех или иных сущностях.

https://github.com/annell/ecs-cpp

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

❓Чем перемещение отличается от копирования в C++?

Узнайте на бесплатном практическом уроке от OTUS, где вы вместе с опытным экспертом разберете:

- синтаксис и подводные камни move-семантики;
- отличие копирования от перемещения;
- когда компилятор может сам, а когда ему нужно подсказать;
- как отличить rvalue от lvalue;
- как избегать лишнего копирования объектов.

⏰ Занятие пройдёт 21 марта в 20:00 мск и будет приурочено к старту курса «Специализация C++ Developer». Доступна рассрочка на обучение!

👉 Зарегистрируйтесь прямо сейчас: https://otus.pw/DefN/?erid=2VtzqwJbp9S

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека C/C++ разработчика

Крошечный рендерер или как работает OpenGL: программный рендеринг в 500 строках кода

https://github.com/ssloy/tinyrenderer/wiki

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

⚡️Хакатон "Умный помощник для тендеров"

Присоединяйтесь к участию в соревновании и станьте частью комьюнити Федерации спортивного программирования, объединяющей талантливых специалистов и спортсменов!

🚀Что дает участие?
1. Карьерные преимущества.
2. Поддержка и развитие.
3. Призовой фонд — 200 000 рублей.
4. Комьюнити спортсменов.

👨‍💻К участию приглашаются:
- Студенческие команды в составе от 3х до 5ти человек;
- Обучающиеся технических специальностей;
- IT-специалисты;
- Заинтересованные представители регионов Российской Федерации.

📅Дата проведения: 23 - 25 марта
📍Формат: Онлайн/Офлайн в г. Москва

Подробная информация и регистрация: https://tglink.io/bdf0295f3aee?erid=LjN8K9QcF

Читать полностью…

Библиотека C/C++ разработчика

Тестовое в Firefly Studios или игра за час

Пару недель назад, на меня вышла HR "светлячков" и пригласила поговорить о позиции AI программера в их новую старую игру. Я был несколько удивлен, потому что знаком с парой ребят из студии и знаю, что найм у них сейчас остановлен. Но всегда интересно пообщаться с умными людьми, поэтому отказываться не стал. Первый созвон с HR вышел стандартный, где над чем работал, какие игры шипнул. Не очень понимаю зачем все это было спрашивать, если все это есть на линкедине подробно и с датами. Ну да ладно - видно такая их эйчарская доля по тридцать три раза переспрашивать. Или HR дальше второй страницы просто поленилась почитать.

Забукали время технического интервью. В полдень четверга на встречу приходит сотрудник студии и начинает просматривать резюмешку дальше второй страницы, где натыкается на скрин опенсорсного проекта StoneKingdoms, в который я некоторое время активно комитил. Проект, если что, получил благословение самого Simon Bradbury (владельца студии), так что проблем с правами на использование ресурсов из Stronghold нет. Посыпались вопросы, а что за проект? а как делаете? и что все на lua? а как же плюсы? Где-то на середине разговора к нам подключился другой разработчик "светлячков", с которым мое знакомство началось еще в 2010, когда он помогал восстанавливать исходники Caesar III и просто давал консультации как реализована игровая симуляция. Мы и сейчас иногда общаемся на форуме по ремейкам старых игр.

https://habr.com/ru/articles/781034/

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Подводные камни lifetime extension: 20 слайдов о том, когда он не работает

Иногда этот механизм просто работает, а иногда нет, но мы про это не знаем. Погрузимся в стандарт, lifetime и временные объекты, чтобы научиться избегать висячих ссылок.

00:00 - немного о докладчице
01:25 - зачем про это думать
02:25 - пример, как и когда работает
04:40 - что такое временный объект (и полезные материалы на тему)
08:25 - как отличить lifetime extension для временных объектов
10:20 - что происходит, если пройти по висячей ссылке
11:55 - про copy elision, внешне похожий на lifetime extension
14:05 - про range based for
15:00 - про xvalue
16:35 - про хранение ссылки на временный объект полем класса
17:20 - про тернарные операторы
18:15 - когда еще нет точных гарантий, что сработает
18:45 - рекомендации по работе с lifetime extension
21:20 - вопросы докладчице

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

🧲 Magnet

Минималистичный менеджер зависимостей для вашего следующего проекта на C++.

Настраивайте меньше, пишите больше.

https://github.com/Futureblur/magnet

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

TCP/IP сети с помощью Boost.Asio

Boost.Asio - это кроссплатформенная библиотека C++ для программирования сетей и низкоуровневого ввода-вывода, которая предоставляет разработчикам последовательную асинхронную модель с использованием современного подхода C++.

В этом месяце Ричард Томсон продолжит наше знакомство с Boost.Asio рассмотрением сетевых технологий TCP/IP. Мы рассмотрим, как реализовать клиент NNTP (Network News Transport Protocol) с помощью Boost.Asio. NNTP - это линейно-ориентированный протокол для чтения новостных статей usenet. Это даст нам представление обо всех типичных проблемах, связанных с сетевыми приложениями TCP/IP:

- Как преобразовать имя хоста в IP-адрес?
- Как установить долговременное соединение с сервером NNTP?
- Как обрабатывать произвольно большие объемы данных с NNTP-сервера, которые поступают асинхронно?
- Как мы координируем ввод данных пользователем с вводом/выводом NNTP?
- Как мы справляемся с неожиданными сетевыми ошибками?

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

⚡Онлайн-Хакатон "Городские Легенды" от Группы компаний Росохрана и ООО «Эпсилон»!

💡Кейсы хакатона:
1. Разработка интерактивного голосового помощника с использованием анимированного аватара.
2. Интеграция интерактивного аватара в городскую экосистему цифровых сервисов.

👨‍💻Для кого хакатон?
- C++/C#-разработчиков;
- Unity-разработчиков;
- 3D-Моделлеров;
- UX/UI-дизайнеров;
- AI-Специалистов;
- Команды из 5 человек;
- Готовых внедрить любимых персонажей в городскую среду и побороться за главный приз!

🏆Общий призовой фонд - 700 000 рублей!

📅Дата проведения: 11-18 Марта
📍Формат: Онлайн

Подробная информация и регистрация: https://tglink.io/e1306e1979d3?erid=LjN8KVwsj

Читать полностью…

Библиотека C/C++ разработчика

Статьи серии SObjectizer Tales

Некоторое время назад я искал альтернативы библиотеке Asynchronous Agents от Microsoft. Я разработал приложение для Windows, взаимодействующее с промышленными камерами и выполняющее множество задач, таких как визуализация и распознавание объектов, и мне нужно было, чтобы оно работало на других платформах.

1. Producing Images
2. Can you call me back?
3. Acquisition loop revisited
4. Handling commands
5. Sending commands
6. Is the stream still in progress?
7. Agent composition
8. Representing errors
9. Splitting work
10. Handling GUI from main
11. Interlude: testing
12. Receiving commands from the network
13. Routing images across the network
14. Triggering agent shutdown
15. Monitoring disconnections
16. Interrupting work
17. Limiting message flow
18. Limiting message chains
19. Thread-safe handlers
20. Performance, part 1
21. Performance, part 2

https://dev.to/ilpropheta/sobjectizer-tales-prelude-5bi8

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

Why Avoid Pointer Arithmetic?

Calling all C++ developers: A free preview of CLion with much faster core IDE functions is out! 🎉 Introducing CLion Nova – a version of CLion with the C++ language engine from ReSharper C++ and JetBrains Rider. It brings:

Faster highlighting speeds
A more responsive UI
Significantly fewer freezes and hangs in refactorings

источник

#cpp #programming

👉 @cpp_lib

Читать полностью…

Библиотека C/C++ разработчика

🫵 Соберите свой первый проект на С++ и добавьте его в портфолио

👉 На бесплатном практическом уроке от OTUS и Карины Дорожкиной — ведущего разработчика в Kaspersky.

На вебинаре:
- разберем понятие единицы трансляции;
- проследим за ошибками компиляции и линковки, разберёмся в их причинах;
- создадим статическую библиотеку и подключим её при помощи CMake;
- обсудим разницу между статической библиотекой и динамической.

⏰ Занятие пройдёт 5 марта в 20:00 мск и будет приурочено к старту курса «Специализация C++ Developer». Доступна рассрочка на обучение!

👉 Зарегистрируйтесь прямо сейчас, чтобы занять место: https://vk.cc/cv2iYq

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Читать полностью…

Библиотека C/C++ разработчика

C++ Programming: Implicit and Explicit Constructors

https://dev.to/aboss123/c-programming-implicit-and-explicit-constructors-27be

#cpp #programming

👉 @cpp_lib

Читать полностью…
Subscribe to a channel