🤝 Добро пожаловать в экосистему YeaHub!
YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников. Подпишитесь на наши каналы, чтобы не пропустить:
👩💻 C# 🤖 ML Engineer
👩💻 C/C++ 🖥 Data Science
👩💻 Java 👩💻 Python
🖥 PHP 👩💻 Frontend
👣 Rust 👣 Golang
🖥 Ruby 👩💻 Node.js
👩💻 QA 👩💻 Android
👩💻 iOS 👩💻 Game Dev
💻 DevOps 🖥 Общее IT
📆 Митапы 👨💻 Вакансии
Здесь вы найдете всё, что нужно для вашего направления — в одном месте, без необходимости подписываться на десятки каналов.
💬 YeaHub Community: Общение, обмен опытом и поддержка единомышленников
В наших каналах вы найдете:
🔹 Вакансии и карьерные рекомендации
🔹 Мероприятия и митапы
🔹 Вопросы и задачи с собеседований
🔹 Практику, теорию, курсы и полезные советы
👍 Обучайтесь, общайтесь, растите вместе с https://yeahub.ru
YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников. Подпишитесь на наши каналы, чтобы не пропустить:
📆 Митапы 👨💻 Вакансии
Здесь вы найдете всё, что нужно для вашего направления — в одном месте, без необходимости подписываться на десятки каналов.
В наших каналах вы найдете:
🔹 Вакансии и карьерные рекомендации
🔹 Мероприятия и митапы
🔹 Вопросы и задачи с собеседований
🔹 Практику, теорию, курсы и полезные советы
Миссия YeaHub — создать сообщество активных IT-специалистов, которые вместе развиваются, задают стандарты в индустрии, общаются и помогают друг другу. Мы стремимся к созданию саморегулирующегося сообщества, где каждый участник вносит вклад в развитие отрасли и поддерживает высокие профессиональные стандарты.
Please open Telegram to view this post
VIEW IN TELEGRAM
C/C++ Development | YeaHub pinned «🤝 Добро пожаловать в экосистему YeaHub! YeaHub — это платформа для IT-специалистов, объединяющая обучение, карьерный рост, развитие и сообщество единомышленников. Подпишитесь на наши каналы, чтобы не пропустить: 👩💻 C# 🤖 ML Engineer 👩💻 …»
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
🛞 Идеальный инструмент для работы с аудио без задержек
Libsoundio — это библиотека на языке C для работы с аудио на низком уровне, которая предоставляет интерфейс для кроссплатформенной работы с аудиопотоками в реальном времени.
🟠 Она поддерживает такие популярные звуковые системы, как ALSA, PulseAudio, CoreAudio, WASAPI и JACK, что делает её пригодной для использования на Windows, macOS и Linux.
Гитхаб
👉 Новости 👉 Платформа
Libsoundio — это библиотека на языке C для работы с аудио на низком уровне, которая предоставляет интерфейс для кроссплатформенной работы с аудиопотоками в реальном времени.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
40%
std::shared_ptr может быть использован для реализации слабых ссылок
16%
std::shared_ptr гарантирует, что объект не будет уничтожен до завершения всех ссылок
24%
std::shared_ptr автоматически освобождает память при последнем удалении
20%
std::shared_ptr поддерживает отслеживание количества владельцев объекта
❤1
#собес
🤔 Какой порядок вызова деструкторов?
При удалении объекта, созданного с использованием наследования, деструкторы вызываются в следующем порядке:
🟠 Сначала вызывается деструктор производного класса, чтобы очистить ресурсы, связанные с ним.
🟠 Затем вызывается деструктор базового класса.
Такой порядок обеспечивает корректное освобождение всех ресурсов в порядке, обратном их созданию.
👉 Новости 👉 Платформа
При удалении объекта, созданного с использованием наследования, деструкторы вызываются в следующем порядке:
Такой порядок обеспечивает корректное освобождение всех ресурсов в порядке, обратном их созданию.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1
Anonymous Quiz
22%
std::deque использует внутреннее хранилище в виде непрерывного блока памяти
44%
std::deque предоставляет доступ к элементам по индексу
17%
std::deque может быть использован для реализации стеков и очередей
17%
std::deque поддерживает эффективное добавление и удаление элементов с обоих концов
#ЛитКод
Задача: 445. Add Two Numbers II
Вам даны два непустых связанных списка, представляющих два неотрицательных целых числа. Самый значимый разряд стоит первым, и каждый из их узлов содержит одну цифру. Сложите два числа и верните сумму в виде связанного списка.
Вы можете предположить, что оба числа не содержат начальных нулей, за исключением самого числа 0.
Пример:
👨💻 Алгоритм:
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.
😎 Решение:
👉 Новости 👉 Платформа
Задача: 445. Add Two Numbers II
Вам даны два непустых связанных списка, представляющих два неотрицательных целых числа. Самый значимый разряд стоит первым, и каждый из их узлов содержит одну цифру. Сложите два числа и верните сумму в виде связанного списка.
Вы можете предположить, что оба числа не содержат начальных нулей, за исключением самого числа 0.
Пример:
Input: l1 = [7,2,4,3], l2 = [5,6,4]
Output: [7,8,0,7]
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;
}
};Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#статьи
😊 Библиотека std::map
Эта статья предоставляет практическое руководство по работе с библиотекой std::map из стандартной библиотеки шаблонов C++ (STL)!
🟠 Автор объясняет ключевые аспекты использования std::map, включая добавление, удаление и поиск элементов, а также демонстрирует примеры трансформации ключей и значений.
Читать статью
Эта статья предоставляет практическое руководство по работе с библиотекой std::map из стандартной библиотеки шаблонов C++ (STL)!
Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
55%
std::future может передавать исключения, произошедшие в асинхронной задаче
18%
std::future может быть скопирован для обмена между потоками
9%
std::future предоставляет механизм для получения результата асинхронной операции
18%
std::future может быть использован для ожидания завершения задачи с таймаутом
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Это эмулятор NES, написанный на C/C++ с использованием чистого WinAPI.
Он эмулирует процессор 6502, графику и звук NES, поддерживает ROM-игры для NTSC и PAL, использует GDI для графики и WinMM для звука
Проект ориентирован на точность в эмуляции, но пока не поддерживает сложные мапперы для некоторых игр.
Гитхаб
👉 Новости 👉 Платформа
Он эмулирует процессор 6502, графику и звук NES, поддерживает ROM-игры для NTSC и PAL, использует GDI для графики и WinMM для звука
Проект ориентирован на точность в эмуляции, но пока не поддерживает сложные мапперы для некоторых игр.
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Anonymous Quiz
33%
std::make_shared создает объект и возвращает std::shared_ptr на него
19%
std::make_shared выделяет память для объекта и для std::shared_ptr отдельно
38%
std::make_shared автоматически управляет освобождением памяти
10%
std::make_shared может быть использован для создания объекта с параметрами конструктора
❤1
#полезное
🛞 Диск и память
Чувак, вызывай
В C можно еще больше уменьшить размер файла, если не линковать стандартную библиотеку и использовать простые системные вызовы (syscall вместо printf()/puts()).
Rust, напротив, всегда включает runtime и стандартную библиотеку, из-за чего его бинарники гораздо больше.
👉 Новости 👉 Платформа
Чувак, вызывай
puts() вместо printf() и перестань линковать CRT — уложишься в 4К. В C можно еще больше уменьшить размер файла, если не линковать стандартную библиотеку и использовать простые системные вызовы (syscall вместо printf()/puts()).
Rust, напротив, всегда включает runtime и стандартную библиотеку, из-за чего его бинарники гораздо больше.
Please open Telegram to view this post
VIEW IN TELEGRAM
Anonymous Quiz
48%
std::unique_ptr может быть использован для совместного владения объектом
19%
std::unique_ptr реализует семантику уникального владения
24%
std::unique_ptr автоматически освобождает память при выходе из области видимости
10%
std::unique_ptr может быть перемещен, но не скопирован
❤2🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
👨💻 Quandoom
Это порт DOOM для квантовых компьютеров, использующий 70 000 кубитов и 80 миллионов логических вентилей.
Работает со скоростью 10–20 FPS на классическом оборудовании с использованием легковесного C++ QASM-симулятора.
🟠 Обратите внимание, что запуск симулятора требует около 5–6 ГБ оперативной памяти и может занять некоторое время при загрузке из-за большого размера схем
Ознакомьтесь
👉 Новости 👉 Платформа
Это порт DOOM для квантовых компьютеров, использующий 70 000 кубитов и 80 миллионов логических вентилей.
Работает со скоростью 10–20 FPS на классическом оборудовании с использованием легковесного C++ QASM-симулятора.
Ознакомьтесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
#видео
🏕 Создание воксельного движка
Это - серия видео, посвященных разработке воксельного движка, напоминающего механику игры Minecraft, с использованием языка программирования C++!
Смотреть видео
👉 Новости 👉 Платформа
Это - серия видео, посвященных разработке воксельного движка, напоминающего механику игры Minecraft, с использованием языка программирования C++!
Смотреть видео
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Please open Telegram to view this post
VIEW IN TELEGRAM