C/C++ Development | YeaHub – Telegram
C/C++ Development | YeaHub
828 subscribers
228 photos
56 videos
1 file
379 links
Теория, подготовка к интервью и курсы для C/C++ разработчиков

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

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

Для связи: @ruslan_kuyanets
Download Telegram
#полезное
😵‍💫 Если ты уже хорошо разбираешься в C, переходи к SoC.

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

Важно учитывать это с позиции системного мышления
Тык сюда

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
4👍2🔥1
#полезное
👋 Вот «Ray Tracing за один уикенд». Прекрасный небольшой ресурс, чтобы за один уикенд узнать многое о графических вычислениях. Если на выходных нечем заняться — теперь есть.
Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
2
#полезное
🫡 Stack vs Heap в C (кратко):

Stack:

Используется для автоматической памяти — локальных переменных, параметров функций, адресов возврата.
Быстрый, ограничен по размеру, управляется автоматически (LIFO).

Heap:

Используется для динамического распределения памяти с помощью malloc/free. Медленнее, больше по объёму, управление вручную. Возможны утечки памяти и фрагментация

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
21
#полезное
🏠 std::valarray

std::valarray оптимизирован для работы с массивами чисел и поддерживает эффективные векторные операции, что делает его полезным для научных вычислений и обработки данных.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
4
This media is not supported in your browser
VIEW IN TELEGRAM
#полезное
😊 Наглядное видео о том, как исходный код компилируется в исполняемый файл

Не знать, как компилируется твой код — всё равно что ехать на машине с завязанными глазами

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1🥰1
#полезное
😇 Я недавно нашёл классный способ поддерживать "лямбды" в C

Без аллокаций, работает с любым типом массива, "автоматический захват" переменных, поскольку это просто простая генерация кода

На втором фото несколько примеров с однострочными, многострочными и с "захваченными" переменными

На 3 фото пример использован в реальном коде (адаптирован под кастомный тип массива, который просто ptr + len)

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#Собес #Cplus
🤔 Что такое прототип функции в С++?

Прототип функции в С++ — это декларация функции, которая указывает ее имя, тип возвращаемого значения и типы параметров. Это позволяет компилятору проверять правильность вызова функции до ее определения.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
#полезное
🤯 std::indirectly_
readable_traits


std::indirectly_readable_traits (C++20) используется внутри концептов и обобщённых алгоритмов для извлечения типа значения, на который "указывает" итератор или указатель. Это полезно при написании обобщённых (generic) алгоритмов и своих концептов.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
3
#полезное
🛞 Создание простого клиент-серверного приложения на UDP в C

Здесь мы рассмотрим, как настроить базовый UDP-сервер и клиент на языке C, сосредоточив внимание на механике работы за кулисами - гайд

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
11
#полезное
🥄 Напоминание: лучший способ чему-либо научиться — делать собственные проекты.

Этот репозиторий содержит большинство проектов, какие только можно представить, и множество языков для их реализации.

Многие из них — на C, другие — на Assembly, и каждый из них даст вам мощную прокачку.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Собес #Cplus
🤔 Расскажите про стек в контексте С++

Стек в С++ - это адаптер контейнера, работающий по принципу LIFO (Last In, First Out), где последний элемент, добавленный в стек, будет первым, который из него извлечет.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#полезное
😎 Представьте себе написание сложной разветвлённой логики без единого оператора if. Я уже некоторое время работаю с сопоставлением с образцом, но с новым языком, не C/C++

Можешь ознакомиться с этим гайдом о сопоставлении с образцом

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#полезное
🥺 Сегодня получил интересный вопрос: что быстрее —
n++, ++n или n + 1 ?

Ответ: n++ читает стек 3 раза, в то время как ++n и n + 1 — 4 раза.

Тесты были проведены на следующем коде (смотри фото):

++n и n + 1

Для dummy = ++n и n = n + 1; dummy = n происходит следующее:

> n инкрементируется на стеке
> значение n загружается в регистр
> регистр сохраняется в dummy на стеке

n++

Для dummy = n++ происходит следующее:

> n загружается в регистр-1
> регистр-1 инкрементируется и результат сохраняется в регистр-2
> регистр-2 сохраняется обратно на стек (обновлённое значение n)
> регистр-1 сохраняется на стек в dummy (исходное значение n)

Может показаться, что код для n++ содержит больше инструкций и поэтому должен быть медленнее, но это не так.

На практике не существует такого понятия, как «инкремент на стеке» — значение фактически загружается в процессор, инкрементируется там, а затем записывается обратно.

Если посчитать обращения к стеку (чтения и записи):

> ++n и n + 1: чтение, запись, чтение, запись — 4 обращения к стеку

> n++: чтение, запись, запись — 3 обращения к стеку

Поскольку чтение из регистра значительно быстрее, чем из стека, это делает n++ более быстрым вариантом.

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#видео
😐 Изучение ядра Linux с использованием трассировки

Отличное видео о трассировке системных вызовов и о том, как это работает под капотом
Источник

👉Новости 👉База вопросов
Please open Telegram to view this post
VIEW IN TELEGRAM