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 #43 · Back to latest

Older Posts 19 shown
Post #42 158
#полезное
👍 SGCL — это библиотека управления памятью для C++

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

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

🟠Поддержка циклов владения
🟠SGCL разработан с учетом стандартов C++17 и выше, обеспечивая совместимость с современными практиками программирования.
🟠Простота использования
Ознакомиться

👉Новости 👉Платформа
Post #41 175
#полезное
😎 Олды здесь

Allegro –- олдскульная библиотека для C++ (с 1990-х), чтобы писать простые 2D-игры: аркады, платформеры. Всё вручную — графика, звук, ввод.

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

Сейчас её редко используют в крупных проектах, так как есть более современные движки вроде SDL, SFML, Godot, Unity

Но она до сих пор жива — https://liballeg.org/index.html

👉Новости 👉Платформа
Post #40 181
#Собес
🤔 Что такое динамическая структура данных?

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

👉Новости 👉Платформа
Post #39 202
#видео
🤓 Закон Линуса о написании читаемого кода

Видео объясняет лучшие практики написания читаемого кода: предпочтение 8-символьным отступам, избегание излишней вложенности, правильное разбиение длинных строк (особенно логов), соотношение длины функции к её сложности и необходимость писать код, понятный без комментариев, вместо объяснения его работы в них.
📱 Смотреть видео

👉Новости 👉Платформа
  • ❤ 2
Post #38 174
#полезное
🤬 Чувак критикует инструменты сборки (build tools) для C/C++.

Он говорит, что C и C++ — это мощные языки, но несмотря на это, разработчики не могут эффективно использовать их для организации процесса сборки. Вместо этого они часто прибегают к Python (который он называет "интерпретируемым игрушечным языком"), что, только усложняет процесс.

Проще говоря, для сборки проектов на C/C++ приходится использовать внешние инструменты и скрипты, вместо того чтобы решать эти задачи средствами самих языков.

👉Новости 👉Платформа
Post #37 165
#ЛитКод
Задача: 364. Nested List Weight Sum II

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

Глубина целого числа — это количество списков, внутри которых оно находится. Например, вложенный список [1,[2,2],[[3],2],1] имеет значение каждого целого числа, установленное равным его глубине. Пусть maxDepth будет максимальной глубиной любого целого числа.
Вес целого числа определяется как maxDepth - (глубина целого числа) + 1.

Верните сумму каждого целого числа в nestedList, умноженную на его вес.

Пример:
Input: nestedList = [[1,1],2,[1,1]]
Output: 8
Explanation: Four 1's with a weight of 1, one 2 with a weight of 2.
1*1 + 1*1 + 2*2 + 1*1 + 1*1 = 8


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

1⃣Инициализировать первый уровень BFS-дерева, добавив все элементы из входного nestedList в очередь.

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

3⃣Когда очередь станет пустой, вернуть значение (maxDepth + 1) * sumOfElements - sumOfProducts.

😎 Решение:
#include <vector>
#include <queue>
using namespace std;

class NestedInteger {
public:
bool isInteger() const;
int getInteger() const;
const vector<NestedInteger> &getList() const;
};

class Solution {
public:
int depthSumInverse(vector<NestedInteger>& nestedList) {
queue<NestedInteger> q;
for (auto& ni : nestedList) q.push(ni);

int depth = 1, maxDepth = 0, sumOfElements = 0, sumOfProducts = 0;

while (!q.empty()) {
int size = q.size();
maxDepth = max(maxDepth, depth);

for (int i = 0; i < size; ++i) {
NestedInteger nested = q.front();
q.pop();

if (nested.isInteger()) {
int value = nested.getInteger();
sumOfElements += value;
sumOfProducts += value * depth;
} else {
for (auto& ni : nested.getList()) q.push(ni);
}
}
depth++;
}
return (maxDepth + 1) * sumOfElements - sumOfProducts;
}
};


👉Новости 👉Платформа
Post #36 154
#Собес
🤔 Когда используется ключевое слово "void" в Функции?

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

👉Новости 👉Платформа
  • ❤ 3
  • 🤡 1
Post #34 233
#полезное
🥺 std::ranges::views
::filter


std::ranges::views::filter (C++20) позволяет удобно фильтровать элементы в диапазоне без создания временных контейнеров. Это делает код более выразительным и эффективным.
Документация

👉Новости 👉Платформа
Post #32 219
#полезное
🫠 Это официальная документация по препроцессору C++ в GNU Compiler Collection (GCC)

Препроцессор C++ выполняет начальную обработку исходного кода перед компиляцией, обрабатывая директивы, такие как #define, #include, #if, #pragma и другие.

🟠Основы работы препроцессора
🟠Макросы
🟠Условную компиляцию
🟠Встроенные директивы GCC
Ознакомиться

👉Новости 👉Платформа
  • 👍 2
  • ❤ 1
Post #31 223
#Собес
🤔 Что такое заголовочные файлы и каковы их применения в языке С?

Заголовочные файлы (.h) в С содержат объявления функций, структур и констант, которые могут использоваться в нескольких исходных файлах программы. Они позволяют подключать внешние библиотеки или повторно использовать код без дублирования.

👉Новости 👉Платформа
  • ❤ 2
Post #30 223
#полезное
😊 std::unordered_map
::try_emplace()


try_emplace() — это метод std::unordered_map, который вставляет элемент только в том случае, если ключ отсутствует. В отличие от insert() и operator[], он избегает ненужного копирования или перемещения значений.

👉Новости 👉Платформа
  • 👍 1
Post #29 212
#полезное
🤯 Полнофункциональный файловый менеджер на чистом C весит меньше, чем стандартное "Hello, World!" на Rust

👉Новости 👉Платформа
  • 👎 2
  • ❤ 1
  • 😈 1
Post #28 199
Этот чувак однажды проснулся и такой: "Ок, давай превратим:"

printf("hello world\n");  


⬇

std::cout << "hello world" << std::endl; 


👉Новости 👉Платформа
  • 🥰 4
  • ❤ 2
  • 👍 1
Post #27 225
#Собес
🤔 Для чего используется точка с запятой (;) в конце каждого оператора программы?

Точка с запятой в языке С используется для завершения оператора, указывая, что оператор завершён, и начинается новый. Она необходима после каждого оператора, за исключением управляющих конструкций, таких как циклы или условия. Без точки с запятой код не будет компилироваться.

👉Новости 👉Платформа
  • 🥰 2
  • ❤ 1
Post #25 196
#полезное
😊 Cute_headers

Набор однострочных заголовочных файлов на языках C и C++, предназначенных для упрощения разработки игр!

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

👉Новости 👉Платформа
  • 👍 2
  • ❤ 1
Post #24 197
#полезное
🏕 Создание реальных локаций в Minecraft с помощью данных OpenStreetMap

🟠Arnis позволяет генерировать любые реальные локации в Minecraft Java Edition с высокой детализацией, используя геопространственные данные из OpenStreetMap.

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

👉Новости 👉Платформа
  • ❤ 1
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 →