en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

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

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

Open in Telegram

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

Show more
7 189
Subscribers
No data24 hours
-27 days
-2330 days
Attracting Subscribers
Oct '26
October '26
+62
in 0 channels
September '26
+61
in 0 channels
Get PRO
August '26
+53
in 0 channels
Get PRO
July '26
+39
in 0 channels
Get PRO
June '26
+72
in 0 channels
Get PRO
May '26
+79
in 2 channels
Get PRO
April '26
+85
in 0 channels
Get PRO
March '26
+80
in 0 channels
Get PRO
February '26
+95
in 0 channels
Get PRO
January '26
+90
in 0 channels
Get PRO
December '25
+80
in 1 channels
Get PRO
November '25
+138
in 40 channels
Get PRO
October '25
+134
in 2 channels
Get PRO
September '25
+158
in 36 channels
Get PRO
August '25
+316
in 2 channels
Get PRO
July '25
+255
in 27 channels
Get PRO
June '25
+270
in 19 channels
Get PRO
May '25
+141
in 45 channels
Get PRO
April '25
+178
in 37 channels
Get PRO
March '25
+140
in 38 channels
Get PRO
February '25
+215
in 31 channels
Get PRO
January '25
+207
in 33 channels
Get PRO
December '24
+240
in 34 channels
Get PRO
November '24
+218
in 32 channels
Get PRO
October '24
+255
in 29 channels
Get PRO
September '24
+309
in 28 channels
Get PRO
August '24
+197
in 18 channels
Get PRO
July '24
+162
in 1 channels
Get PRO
June '24
+215
in 24 channels
Get PRO
May '24
+207
in 19 channels
Get PRO
April '24
+258
in 0 channels
Get PRO
March '24
+280
in 21 channels
Get PRO
February '24
+324
in 19 channels
Get PRO
January '24
+312
in 23 channels
Get PRO
December '23
+220
in 25 channels
Get PRO
November '23
+202
in 18 channels
Get PRO
October '23
+212
in 19 channels
Get PRO
September '23
+195
in 0 channels
Get PRO
August '23
+159
in 0 channels
Get PRO
July '23
+185
in 0 channels
Get PRO
June '23
+224
in 0 channels
Get PRO
May '23
+173
in 0 channels
Get PRO
April '23
+146
in 0 channels
Get PRO
March '23
+116
in 0 channels
Get PRO
February '23
+184
in 0 channels
Get PRO
January '23
+361
in 0 channels
Get PRO
December '22
+193
in 0 channels
Get PRO
November '22
+135
in 0 channels
Get PRO
October '22
+244
in 0 channels
Get PRO
September '22
+269
in 0 channels
Get PRO
August '22
+307
in 0 channels
Get PRO
July '22
+548
in 0 channels
Get PRO
June '22
+1 976
in 0 channels
Date
Subscriber Growth
Mentions
Channels
26 October+2
25 October+2
24 October+3
23 October+3
22 October+2
21 October+1
20 October+2
19 October+5
18 October+4
17 October+2
16 October+1
15 October+2
14 October+1
13 October+8
12 October+3
11 October+2
10 October0
09 October+1
08 October+3
07 October+1
06 October0
05 October+1
04 October+4
03 October0
02 October+5
01 October+4
Channel Posts
Продвинутое использование препроцессора в C и C++ Зачастую, в проектах ограничивается использование препроцессора по следующи
Продвинутое использование препроцессора в C и C++ Зачастую, в проектах ограничивается использование препроцессора по следующим причинам: — Он не похож на весь остальной язык; — Макросы могут возвращать неполные синтаксические конструкции, или вовсе различные, в зависимости от параметров. Ввиду перечисленных особенностей, читать код с активным использованием препроцессора зачастую становится на порядок сложнее кода без него. Со всеми его недостатками, инструмент есть в языке и достоин изучения. https://habr.com/ru/companies/timeweb/articles/928598/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib

2
Универсальная С++ фабрика объектов: для Qt и не только Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии ко
Универсальная С++ фабрика объектов: для Qt и не только Меня зовут Михаил Полукаров, я занимаюсь разработкой Desktop-версии корпоративного супераппа для совместной работы VK Teams. Если вы тоже работали с большими проектами, где активно применяются объектно-ориентированные паттерны проектирования, то наверняка сталкивались с паттернами проектирования Factory Method или AbstractFactory. В процессе разработки я неоднократно ловил себя на мысли, что часто пишу однотипный код таких фабрик, и задумался о том, как можно было бы избежать таких самоповторений. В этой статье я покажу, как сделать универсальную фабрику объектов, покрывающую большую часть потребностей, следующую принципам DRY (Don’t Repeat Yourself), а также как можно использовать некоторые «фишки» новых стандартов С++. https://habr.com/ru/companies/vktech/articles/932358/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
775
3
📲 Мы в MAX #cpp #programming 👉 @cpp_lib
📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 085
4
Компиляторный бенчмаркинг и JIT-компиляция Анастасия Черникова Обсудили инструмент автоматического бенчмаркинга llvm-exegesis
Компиляторный бенчмаркинг и JIT-компиляция Анастасия Черникова Обсудили инструмент автоматического бенчмаркинга llvm-exegesis и то, какие проблемы он помогает решать. Недавно появилась поддержка RISC-V backend: Анастасия рассказала про ее особенности, реализацию и о том, что еще предстоит сделать. Подробно представила режимы работы и опции запуска, чтобы каждый уже в конце доклада смог полноценно использовать llvm-exegesis для решения своих задач. Бонус: вы познакомитесь сllvm-jit и узнаете, как использовать его в качестве самостоятельного инструмента. 00:00 Начало. RISC-V и LLVM 05:24 Компиляторный бенчмаркинг 09:14 Использование и возможности llvm-exegesis 18:03 История инструмента, его разнообразные применения и его путь в RISC-V 25:22 llvm-jit его устройство и использование: как отдельно так и внутри инструментов 29:56 Ответы на вопросы 35:00 Моё камео: ответ про соотношение llvm-mca и llvm-exegesis. Далее Настя продолжает отвечать сама. источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 256
5
C++ изнутри: внутренние механизмы классов Крис Райан — CppCon 2024 В своём докладе я рассмотрю внутренние механизмы C++ по сл
C++ изнутри: внутренние механизмы классов Крис Райан — CppCon 2024 В своём докладе я рассмотрю внутренние механизмы C++ по следующим темам: - "Луковица C++": как она соотносится с конструированием, уничтожением объектов и полиморфизмом; - Порядок конструирования и уничтожения объектов, а также обработка до и после выполнения main(); - Указатели на функции-члены (это не те C-указатели на функции, что вы знали раньше); - Указатели на данные-члены (не просто «сырые» указатели) и их "data-morphic" функциональность; - Понимание стека вызовов, кадров стека и механизмов базового указателя (base pointer). источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 261
6
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://max.ru/sysadminof Книги для админов, полезные материалы https://max.ru/i_odmin_book Библиотека Системного Администратора https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др. https://max.ru/tipsysdmin Типичный Сисадмин https://max.ru/channel_win_sysadmin Системный Администратор Windows https://max.ru/channel_linux_admin Linux: Системный администратор https://max.ru/channel_linuxmod Linux https://max.ru/channel_i_linux Системный администратор https://max.ru/channel_devopslib DevOps, SRE, Sysadmin https://max.ru/channel_devops_star DevOps Star (Звезда Девопса) Excel лайфхак 📌 https://t.me/Excel_lifehack Excel лайфхак Английский с нуля 🇬🇧 https://max.ru/UchuEnglish 1C разработка 📌 https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С https://max.ru/channel_DevLab1C 1С:Предприятие 8 Программирование C++📌 https://max.ru/cpp_lib Библиотека C/C++ разработчика https://max.ru/channel_cpp_geek C++ geek Программирование Go📌 https://max.ru/golang_lib Библиотека Go (Golang) разработчика Программирование React📌 https://max.ru/react_lib React Программирование Rust📌 https://max.ru/channel_rust_lib Программирование Python 📌 https://max.ru/python_of Python академия. https://max.ru/BookPython Библиотека Python разработчика Java разработка 📌 https://max.ru/bookjava Библиотека Java разработчика https://max.ru/channel_java_geek Java Geek GitHub Сообщество 📌 https://max.ru/githublib Интересное из GitHub Базы данных (Data Base) 📌 https://max.ru/database_info Все про базы данных Фронтенд разработка 📌 https://max.ru/frontend_1 Подборки для frontend разработчиков Библиотеки 📌 https://max.ru/programmist_of Книги по программированию https://max.ru/proglb Библиотека программиста https://max.ru/bfbook Книги для программистов Программирование 📌 https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT https://max.ru/php_lib Библиотека PHP программиста 👨🏼‍💻👩‍💻 Шутки программистов 📌 https://max.ru/itumor Шутки программистов Защита, взлом, безопасность 📌 https://max.ru/thehaking Канал о кибербезопасности https://max.ru/xakkep_1 Хакер Free Книги, статьи для дизайнеров 📌 https://max.ru/odesigners Статьи, книги для дизайнеров Математика 📌 https://max.ru/Pomatematike Канал по математике https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике Вакансии в IT📌 https://max.ru/progjob https://max.ru/channel_rabotait Мир технологий 📌 https://max.ru/mir_teh Канал для любознательных Городские📌 https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга https://max.ru/mockva_life Свежие новости Москвы https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП https://max.ru/channel_krasnodar_novosty Краснодар Новости https://max.ru/channel_novosibirsk_novosti Новосибирск https://max.ru/channel_samara_novosti Новости Самары https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга https://max.ru/channel_kazan_novosti Новости Казани https://max.ru/channel_omsk_novosti Новости Омска https://max.ru/channel_moskva_24 Москва 24
943
7
C++ Std:: string Interface Overview 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
C++ Std:: string Interface Overview 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 044
8
Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов В этой статье мы посмотрим, как можно реализовать полн
Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time. Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся. https://habr.com/ru/articles/929052/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 300
9
Эффективное использование С++ Лекция 1. Библиотеки, утилиты, средства разработки, сборка (Эффективное использование С++) Лекц+5
Эффективное использование С++ Лекция 1. Библиотеки, утилиты, средства разработки, сборка (Эффективное использование С++) Лекция 2. Работа с памятью. Утечки ресурсов. RAII, умные указатели (Эффективное использование С++) Лекция 3. Move semantics, rvalue reference, perfect forwarding. Лекция 4. Callbacks: lambda, bind & function. Лекция 5. Multithreading in C++ (потоки, блокировки, задачи, атомарные операции, очереди сообщений) Лекция 6. Обзор возможностей современных стандартов C++ источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 805
10
Курс по ООП в С++ введение инкапсуляция наследование полиморфизм шаблоны и метапрограммирование источник 📲 Мы в MAX #cpp #pr+4
Курс по ООП в С++ введение инкапсуляция наследование полиморфизм шаблоны и метапрограммирование источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 870
11
Запись System Level MeetUp. Поток C++ Мы встретились, чтобы поговорить об C++ в системной разработке: обсудить стандарты, под
Запись System Level MeetUp. Поток C++ Мы встретились, чтобы поговорить об C++ в системной разработке: обсудить стандарты, подходы и реальные задачи, которые решаются на этом языке. 00:00 - Открытие мероприятия. 08:30 - Доклад "Девиртуализация в C++, компиляторах и вашей программе" (Константин Владимиров и Илья Андреев). 47:50 - Вопросы от участников. 01:00:32 - Доклад "Кодек для json'ов с фиксированной схемой" (Никита Пешаков). 01:27:33 - Вопросы от участников. 01:43:04 - Дискуссия "Как писать меньше на C++?" (Константин Владимиров, Илья Казаков, Алексей Щербаков, Василий Рамаданов). 02:43:06 - Доклад "Реализация динамического полиморфизма для свободных функций" (Кирилл Колодяжный). 03:00:56 - Вопросы участников. 03:11:00 - Доклад "Шаблонное мета-программирование в современном C++ для задач космической баллистики" (Леонид Меркин). 03:59:32 - Вопросы участников. 04:06:05 - Доклад "C++ внутри PostgreSQL: удобство против традиций" (Илья Шишков). 04:46:55 - Вопросы участников. источник 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 664
12
📲 Мы в MAX #cpp #programming 👉 @cpp_lib
📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 180
13
Сегментация памяти в программе на C/C++ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
Сегментация памяти в программе на C/C++ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 327
14
RAII 2.0: RAII как архитектурный инструмент в C++ Идиома RAII — давно зарекомендовал себя как удобный способ автоматического
RAII 2.0: RAII как архитектурный инструмент в C++ Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния. https://habr.com/ru/articles/901092/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 464
15
Удобный способ работы с перечислениями в C++ — приведение enum к строке и обратно. Во многих проектах используется enum, чтобы задать ограниченный набор значений. Но как вывести значение enum в лог? Или, наоборот, прочитать из строки и получить нужное значение enum? C++ сам по себе не умеет конвертировать enum в строку и обратно. Вот простая реализация этого функционала через std::unordered_map: enum class LogLevel { Debug, Info, Warning, Error }; const std::unordered_map<LogLevel, std::string> LogLevelToString = { {LogLevel::Debug, "Debug"}, {LogLevel::Info, "Info"}, {LogLevel::Warning, "Warning"}, {LogLevel::Error, "Error"}, }; const std::unordered_map<std::string, LogLevel> StringToLogLevel = { {"Debug", LogLevel::Debug}, {"Info", LogLevel::Info}, {"Warning", LogLevel::Warning}, {"Error", LogLevel::Error}, }; std::string to_string(LogLevel level) { return LogLevelToString.at(level); } LogLevel to_log_level(const std::string& str) { return StringToLogLevel.at(str); } Такой подход хорошо работает, если enum не слишком большой. Если значений много — можно автоматизировать генерацию через макросы или использовать библиотеки вроде magic_enum. 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 417
16
Лаконичный макрос defer для C++17 Ручное управление ресурсами в низкоуровневом си-подобном коде на C++ — довольно хлопотное з
Лаконичный макрос defer для C++17 Ручное управление ресурсами в низкоуровневом си-подобном коде на C++ — довольно хлопотное занятие. Создание достойных RAII-врапперов для каждого используемого сишного API не всегда практично, а использование подходов с goto cleanup или множеством вложенных if (success) вредит читаемости кода. Макрос defer как никогда кстати! Отложенная лямбда будет выполнена при выходе из области видимости, независимо от того, будет ли выполнен return, брошено исключение, или даже выполнен goto наружу. Данный макрос по-настоящему zero-cost и не зависит от рантайма C или стандартной библиотеки, поэтому его можно использовать даже в разработке под ядро ОС. https://habr.com/ru/articles/916732/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 217
17
Низкоуровневый скриптинг на C++ для игровых движков Я постарался охватить только основы, но текст всё равно получился очень длинным. libriscv — это зрелый эмулятор RISC-V, который в настоящее время используется в игровых движках. Насколько мне известно, это единственный эмулятор, в котором основной акцент делается на обработке задержек, а также предоставляются специализированные решения и инструменты для выполнения быстрых вызовов при обращении с функциями — как входящих, так и исходящих. Причём, всё это заключено в безопасной песочнице. Задержки, наблюдаемые в libriscv, гораздо ниже, чем в эталонных эмуляторах. Меня многие спрашивали, как им пользоваться, но здесь интереснее то, как вообще может прийти в голову мысль писать скрипты на C++ — не слишком ли сложно это будет? Оказывается, нет, не очень. Вот уже несколько лет я пишу на C++ скрипты для одной большой и одной не очень большой игры, и меня почти не посещало ощущение, что виной каким-то возникающим при этом проблемам являются язык C++ или связанные с ним скриптовые API. Я много лет программирую на Lua, а до этого пользовался обычным C. Но сейчас современный идиоматический C++ — то, что мне нужно. Причём, я могу писать на этом языке как в самом игровом движке, так и за его пределами, при этом опираясь (буквально) на одни и те же абстракции и оперируя одинаковыми структурами данных. Наконец, C++ просто очень мощный. Правда, я признаю, что о вкусах не спорят, и при работе с C++ также не обойтись без компромиссов. https://habr.com/ru/articles/919620/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 446
18
Пишем игру для игровой ретро-консоли Anbernic на C++ Дисклеймер Сразу скажу, что почти всё, что описано в этой статье, я дела
Пишем игру для игровой ретро-консоли Anbernic на C++ Дисклеймер Сразу скажу, что почти всё, что описано в этой статье, я делал первый раз в жизни, поэтому я не мог не совершить ошибок. Некоторые мои решения и заявления могут быть некорректными. Воспринимать эту статью как туториал можно только на свой страх и риск. Для нормального восприятия этой статьи вы должны обладать базовыми навыками программирования на C++ и хотя бы общим представлением о том, что из себя представляет операционная система Linux. Как всё начиналось Не так давно ко мне в руки попала игровая консоль Anbernic RG35XX SP. Это портативная игровая консоль на базе четырёхъядерного процессора Allwinner H700 с ядрами Cortex-A53, которая имеет на борту операционную систему OFW (дистрибутив Linux, основанный на Ubuntu). Консоль предназначена для запуска ретро игр на эмуляторе Retroarch. Этот эмулятор поддерживает эмуляцию множества популярных игровых консолей 90х и 2000х и позволяет запускать ТЫСЯЧИ популярных игр, которые можно устанавливать на SD карточку. https://habr.com/ru/articles/897338/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 390
19
Руководство по сборке Qt под Windows из исходников с MinGW Официальный способ установки готовых бинарников Qt - через онлайн
Руководство по сборке Qt под Windows из исходников с MinGW Официальный способ установки готовых бинарников Qt - через онлайн инсталлятор. Однако он требует обязательной регистрации. Да еще и недоступен на территории РФ. Есть и другие способы получить бинарники, или собрать с компилятором от Microsoft, однако не всегда эти способы приемлемы. Сборка из исходников под Windows может оказаться несколько нетривиальна для новичков, потому сделал небольшую инструкцию по сборке Qt 5 и Qt 6. А так же рассмотрена базовая настройка QT Creator. https://habr.com/ru/articles/917252/ 📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 387
20
📲 Мы в MAX #cpp #programming 👉 @cpp_lib
📲 Мы в MAX #cpp #programming 👉 @cpp_lib
1 681