TGViewer
Channel Public Channel
C/C++ Development | YeaHub

C/C++ Development | YeaHub

@yeahub_c_development

Теория, подготовка к интервью и курсы для C/C++ разработчиков

YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников.

Платформа: https://yeahub.ru

Для связи: @ruslan_kuyanets
Subscribers
739
Photos
281
Videos
56
Links
551

Showing posts older than #23 · Back to latest

Older Posts 20 shown
Post #22 211
#полезное
🫠 Быстрое освоение кодовой базы

Если ты новичок в проекте, то расширение CodeViz для VS Code помогает визуализировать структуру кода в виде интерактивных диаграмм.

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

Эти диаграммы связаны непосредственно с кодом, так что можно быстро переходить к соответствующим частям кода, что облегчает понимание структуры проекта и навигацию по нему.
Ознакомиться на Гитхаб

👉Новости 👉Платформа
  • ❤ 3
Post #21 164
#собес
🤔 Что такое таблица виртуальных методов?

Это структура, в которой хранятся указатели на виртуальные методы класса. Она используется для обеспечения полиморфизма, позволяя вызывать правильные методы во время выполнения.

👉Новости 👉Платформа
Post #20 198
#полезное
🤔 std::byteswap

std::byteswap (C++23) меняет порядок байтов числа, что полезно для работы с big-endian и little-endian системами.

👉Новости 👉Платформа
  • 👍 1
Post #18 183
#видео
🏕 Создание воксельного движка

Это - серия видео, посвященных разработке воксельного движка, напоминающего механику игры Minecraft, с использованием языка программирования C++!
Смотреть видео

👉Новости 👉Платформа
  • ❤ 1
Post #17 156
#полезное
👨‍💻 Quandoom
Это порт DOOM для квантовых компьютеров, использующий 70 000 кубитов и 80 миллионов логических вентилей.

Работает со скоростью 10–20 FPS на классическом оборудовании с использованием легковесного C++ QASM-симулятора.

🟠Обратите внимание, что запуск симулятора требует около 5–6 ГБ оперативной памяти и может занять некоторое время при загрузке из-за большого размера схем
Ознакомьтесь

👉Новости 👉Платформа
  • 👍 2
Post #16 146
  • ❤ 2
  • 🔥 1
Post #15 165
#полезное
🛞 Диск и память

Чувак, вызывай puts() вместо printf() и перестань линковать CRT — уложишься в 4К.

В C можно еще больше уменьшить размер файла, если не линковать стандартную библиотеку и использовать простые системные вызовы (syscall вместо printf()/puts()).
Rust, напротив, всегда включает runtime и стандартную библиотеку, из-за чего его бинарники гораздо больше.

👉Новости 👉Платформа
Post #14 268
  • ❤ 1
Post #13 316
#собес
🤔 Какая разница между rvalue и lvalue?

🟠 lvalue — это объект с адресом в памяти, который можно изменить или использовать для ссылок.
🟠 rvalue — временное значение, не имеющее адреса в памяти, обычно результат выражения.

👉Новости 👉Платформа
  • ❤ 1
Post #12 372
#полезное
😊 Это эмулятор NES, написанный на C/C++ с использованием чистого WinAPI.

Он эмулирует процессор 6502, графику и звук NES, поддерживает ROM-игры для NTSC и PAL, использует GDI для графики и WinMM для звука

Проект ориентирован на точность в эмуляции, но пока не поддерживает сложные мапперы для некоторых игр.
Гитхаб

👉Новости 👉Платформа
  • ❤ 1
Post #10 217
#статьи
😊 Библиотека std::map

Эта статья предоставляет практическое руководство по работе с библиотекой std::map из стандартной библиотеки шаблонов C++ (STL)!

🟠 Автор объясняет ключевые аспекты использования std::map, включая добавление, удаление и поиск элементов, а также демонстрирует примеры трансформации ключей и значений.
Читать статью
Post #9 217
#ЛитКод
Задача: 445. Add Two Numbers II


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

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

Пример:
Input: l1 = [7,2,4,3], l2 = [5,6,4]
Output: [7,8,0,7]


👨‍💻 Алгоритм:

1⃣Создайте два связанных списка r1 и r2, чтобы хранить перевернутые связанные списки l1 и l2 соответственно. Создайте два целых числа totalSum и carry для хранения суммы и переноса текущих цифр. Создайте новый ListNode, ans, который будет хранить сумму текущих цифр. Мы будем складывать два числа, используя перевернутый список, добавляя цифры по одной. Продолжаем, пока не пройдем все узлы в r1 и r2.

2⃣Если r1 не равен null, добавляем r1.val к totalSum. Если r2 не равен null, добавляем r2.val к totalSum. Устанавливаем ans.val = totalSum % 10. Сохраняем перенос как totalSum / 10. Создаем новый ListNode, newNode, который будет иметь значение как перенос. Устанавливаем next для newNode как ans. Обновляем ans = newNode, чтобы использовать ту же переменную ans для следующей итерации. Обновляем totalSum = carry.

3⃣Если carry == 0, это означает, что newNode, созданный в финальной итерации цикла while, имеет значение 0. Поскольку мы выполняем ans = newNode в конце каждой итерации цикла while, чтобы избежать возврата связанного списка с головой, равной 0 (начальный ноль), возвращаем следующий элемент, т.е. возвращаем ans.next. В противном случае, если перенос не равен 0, значение ans не равно нулю. Следовательно, просто возвращаем ans.

😎 Решение:
class Solution {
public:
ListNode* reverseList(ListNode* head) {
ListNode* prev = nullptr;
ListNode* temp = nullptr;
while (head != nullptr) {
temp = head->next;
head->next = prev;
prev = head;
head = temp;
}
return prev;
}

ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) {
ListNode* r1 = reverseList(l1);
ListNode* r2 = reverseList(l2);

int totalSum = 0;
int carry = 0;
ListNode* ans = new ListNode(0);
while (r1 != nullptr || r2 != nullptr) {
if (r1 != nullptr) {
totalSum += r1->val;
r1 = r1->next;
}
if (r2 != nullptr) {
totalSum += r2->val;
r2 = r2->next;
}

ans->val = totalSum % 10;
carry = totalSum / 10;
ListNode* head = new ListNode(carry);
head->next = ans;
ans = head;
totalSum = carry;
}

return carry == 0 ? ans->next : ans;
}
};


👉Новости 👉Платформа
  • 👍 1
Post #8 226
Post #7 223
#собес
🤔 Какой порядок вызова деструкторов?

При удалении объекта, созданного с использованием наследования, деструкторы вызываются в следующем порядке:
🟠Сначала вызывается деструктор производного класса, чтобы очистить ресурсы, связанные с ним.
🟠Затем вызывается деструктор базового класса.
Такой порядок обеспечивает корректное освобождение всех ресурсов в порядке, обратном их созданию.

👉Новости 👉Платформа
  • 👍 2
  • ❤ 1
Post #6 247
  • ❤ 1
Post #5 304
#полезное
🛞 Идеальный инструмент для работы с аудио без задержек

Libsoundio — это библиотека на языке C для работы с аудио на низком уровне, которая предоставляет интерфейс для кроссплатформенной работы с аудиопотоками в реальном времени.

🟠Она поддерживает такие популярные звуковые системы, как ALSA, PulseAudio, CoreAudio, WASAPI и JACK, что делает её пригодной для использования на Windows, macOS и Linux.
Гитхаб

👉Новости 👉Платформа
Post #3
C/C++ Development | YeaHub pinned «📍 Начни отсюда Подготовка к собеседованиям и поиск работы в IT — всё в одном месте. ━━━━━━━━━━ ПОДГОТОВКА К СОБЕСУ 📚 База вопросов https://yeahub.ru/questions 💼 Реальные собесы Big Tech https://yeahub.ru/collections 🚀 Тренажёр собеседований https://yeahub.ru/quiz…»
Post #2 391
📍 Начни отсюда

Подготовка к собеседованиям и поиск работы в IT — всё в одном месте.

━━━━━━━━━━
ПОДГОТОВКА К СОБЕСУ

📚 База вопросов
https://yeahub.ru/questions

💼 Реальные собесы Big Tech
https://yeahub.ru/collections

🚀 Тренажёр собеседований
https://yeahub.ru/quiz

👨🏻‍💻 Задачи с собесов (livecoding)
https://yeahub.ru/dashboard/live-coding/tasks

🧠 Ключевые слова из вакансий
https://yeahub.ru/hh-analytics

━━━━━━━━━━
ВЫБЕРИ НАПРАВЛЕНИЕ

→Backend

👩‍💻 C# https://t.me/yeahub_c_sharp_dev
👩‍💻 Java https://t.me/yeahub_java_backend
👩‍💻 Python https://t.me/yeahub_python_backend
👣 Go https://t.me/yeahub_go_backend
👩‍💻 Node.js https://t.me/yeahub_node_backend
🖥 PHP https://t.me/yeahub_php_backend
🖥 Ruby https://t.me/yeahub_ruby_backend
👣 Rust https://t.me/yeahub_rust_backend
👩‍💻 C/C++ https://t.me/yeahub_c_development

→Frontend & Mobile

🖥 Frontend https://t.me/yeahub_frontend
👩‍💻 Android https://t.me/yeahub_android_mobile
👩‍💻 iOS https://t.me/yeahub_ios_mobile
👩‍💻 GameDev https://t.me/yeahub_game_dev

→Data & AI

🤖 ML Engineer https://t.me/yeahub_machine_learning
🖥 Data Science https://t.me/yeahub_data_science

→QA / DevOps / Analyst

👩‍💻 QA https://t.me/yeahub_testing_qa
💻 DevOps https://t.me/yeahub_devops
🖥 BA/SA https://t.me/yeahub_analyst
😀 1C https://t.me/yeahub_1c

━━━━━━━━━━
РАБОТА И АКТИВНОСТИ

👨‍💻 Вакансии https://t.me/yeahub_job
📆 Митапы https://t.me/yeahub_events
📚 Общее IT https://t.me/yeahub_tech
🚀 Анонсы https://t.me/yeahub

━━━━━━━━━━
ПРОЕКТ

🚀 Сайт https://yeahub.ru
🖥 GitHub https://github.com/YeaHubTeam/yeahub-platform
📹 YouTube https://www.youtube.com/@yeahub
🎵 TikTok https://www.tiktok.com/@yeahub_it
📷 Inst https://www.instagram.com/yeahub_it
✈ Чат https://t.me/yeahub_community
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →