en
Feedback
С/С++ Portal | Программирование

С/С++ Portal | Программирование

Open in Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3Foc4d

Show more

📈 Analytical overview of Telegram channel С/С++ Portal | Программирование

Channel С/С++ Portal | Программирование (@cpportal) in the Russian language segment is an active participant. Currently, the community unites 14 822 subscribers, ranking 8 405 in the Technologies & Applications category and 43 843 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 14 822 subscribers.

According to the latest data from 15 September, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -138 over the last 30 days and by -10 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 14.16%. Within the first 24 hours after publication, content typically collects 7.89% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 2 099 views. Within the first day, a publication typically gains 1 170 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 28.
  • Thematic interests: Content is focused on key topics such as linux, ядро, c++, процессор, указатель.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3Foc4d

Thanks to the high frequency of updates (latest data received on 16 September, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

14 822
Subscribers
-1024 hours
-477 days
-13830 days
Posts Archive
Алгоритм Флойда для поиска циклов находит петлю в связном списке, используя всего два указателя и O(1) дополнительной памяти.
Алгоритм Флойда для поиска циклов находит петлю в связном списке, используя всего два указателя и O(1) дополнительной памяти. Один указатель перемещается на один узел за шаг, второй на два. Если цикл существует, они гарантированно встретятся. После этого один указатель возвращают в начало списка, и оба начинают двигаться по одному узлу за шаг. Точка, в которой они снова встретятся, и есть точное начало цикла. Одно элегантное доказательство из модульной арифметики лежит в основе одного из самых известных алгоритмов для связных списков. 👉 @Cpportal

Хакатон на космических данных. Санкт-Петербург, Красноярск или онлайн из любой точки страны. Стартуем 18 сентября. За выходны
Хакатон на космических данных. Санкт-Петербург, Красноярск или онлайн из любой точки страны. Стартуем 18 сентября. За выходные участники доводят одну из задач до рабочего решения. Санкт-Петербург. К 2035 году над Землёй должен работать топливный узел, у которого заправляются корабли, и откуда он будет получать топливо - с Земли, с Луны или из резерва - пока не решил никто. Команде предстоит собрать схему поставок, посчитать резервы и решить, во что вкладываться сразу. Призовой фонд 1,2 млн ₽. Красноярск. Спутник видит горящий лес раньше любого наземного поста, но вместе с пожаром ловит нагретые крыши, факелы на месторождениях и блики на воде. Команде предстоит научить сервис отличать настоящий очаг от шума, обвести гарь и выдать площадь в гектарах. Призовой фонд 600 тыс. ₽. Лучшие забирают приз на площадке и билет в московский финал 25–27 сентября, где разыграют ещё 2,4 млн рублей. Команда 3–5 человек, недостающих можно найти на платформе. Регистрация по ссылке космохакатон.рф

Парень, который хотел делать игры, теперь целыми днями чинит вебхуки платежей. Тот, кто мечтал написать свою операционную систему, выбирает между библиотеками для выбора даты. Человек, который выучил C, чтобы понять, как работают компьютеры, теперь живёт в тикетах и созвонах. Мы все начинали программировать, потому что хотели что-то создавать. А потом каким-то образом работа превратилась в обслуживание того, что мы уже создали. 👉 @Cpportal

Отличное изложение того, как ветвления влияют на производительность процессора, какие приёмы помогают ускорить выполнение про
+1
Отличное изложение того, как ветвления влияют на производительность процессора, какие приёмы помогают ускорить выполнение программ и какие эксперименты это подтверждают — отличное чтиво. Всегда поражаюсь этой потрясающей книге 👉 @Cpportal

От исходного кода до процессора: разберись, как работает программа 💻 Стартует практический курс YADRO «Системное программиро
От исходного кода до процессора: разберись, как работает программа 💻 Стартует практический курс YADRO «Системное программирование с использованием языка С» для тех, кто уже знаком с синтаксисом C и хочет разобраться, как программа работает изнутри. Формат: курс пройдет онлайн с октября 2026 по май 2027 года. Занятия — раз в неделю, где 80% времени будет посвящено практике. Этот курс для тебя, если ты: 🔵 учишься в вузе; 🔵 уверенно владеешь базовыми конструкциями C; 🔵 понимаешь, как работают указатели, структуры данных и динамическая память; 🔵 знаешь основные алгоритмы и структуры данных. *️⃣ Будет плюсом опыт разработки под Linux. Материалы для подготовки и форму регистрации можно найти по ссылке 🔗
18 сентября — приходи на онлайн-трансляцию, где мы расскажем подробнее о практических курсах и ответим на все вопросы. После вебинара пройдет обзорная лекция про системное программирование и роль языка С. Регистрация — здесь.

127.0.0.1 изначально не назывался localhost. В RFC 790 от 1981 года сеть 127 была просто помечена как «зарезервированная». Так она и оставалась на протяжении нескольких следующих RFC. Только RFC 990 в 1986 году наконец закрепил за ней конкретное назначение — loopback. А сам адрес 127.0.0.1 впервые появился в RFC только в 1993 году. Это реальный кусок истории интернета, который начался с одного неиспользуемого числа. 👉 @Cpportal

🔥 Приглашаем на бесплатный открытый вебинар курса «Программист С»: «Указатели в Си — от адреса к управлению памятью» 🗓 Когд
🔥 Приглашаем на бесплатный открытый вебинар курса «Программист С»: «Указатели в Си — от адреса к управлению памятью» 🗓 Когда: 24 сентября, 20:00 (мск) Указатели — это не просто синтаксис, а ключ к пониманию того, как Си общается с памятью. Без них невозможно осознанно работать с массивами, строками, структурами и динамическими данными. На вебинаре разберём указатели от самого основания — адресов и операторов — до передачи параметров по ссылке, чтобы вы перестали бояться звёздочек и начали управлять памятью уверенно. Что будет на вебинаре: • Разбор ключевых понятий: адрес переменной, операторы & и *, объявление и разыменовывание указателей — разберём, как Си работает с памятью напрямую; • Пошаговый анализ связи указателей, массивов и функций — выясним, как передавать параметры по ссылке и заставлять функции изменять переменные вызывающего кода. 👉 Зарегистрируйтесь https://otus.pw/X08Z/?erid=2W5zFHyhWhX Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

Язык C. Отличная статья: https://faultlore.com/blah/c-isnt-a-language/ Faultlore — «C больше не язык программирования» Aria D
Язык C. Отличная статья: https://faultlore.com/blah/c-isnt-a-language/ Faultlore — «C больше не язык программирования» Aria Desires, 2022 👉 @Cpportal

Для каждого поиска в C++ map со строковыми ключами не обязательно создавать временный std::string. Прозрачный компаратор позв
Для каждого поиска в C++ map со строковыми ключами не обязательно создавать временный std::string. Прозрачный компаратор позволяет искать напрямую через string_view. Это особенно полезно, когда парсер уже хранит представление части входных данных. 👉 @Cpportal

Если функция checkout в C++ возвращает false, вызывающему коду остаётся только гадать, что именно пошло не так. С появившимся
Если функция checkout в C++ возвращает false, вызывающему коду остаётся только гадать, что именно пошло не так. С появившимся в C++23 std::expected сигнатура функции может описывать и результат резервирования, и ожидаемые варианты ошибок. Это делает API проще в использовании. 👉 @Cpportal

Можно написать собственное CUDA-ядро на C++ и вызывать его из PyTorch как обычную функцию. Цепочка выполнения будет такой: Py
Можно написать собственное CUDA-ядро на C++ и вызывать его из PyTorch как обычную функцию. Цепочка выполнения будет такой: Python → PyTorch → C++ Extension → CUDA Kernel → GPU Что для этого нужно: * C++-обёртка через PyTorch C++ API * файл .cu с CUDA-ядром * связать всё через pybind11 Допустим, вы написали своё ядро сложения:
#include <torch/extension.h>

__global__ void add_kernel(
    const float* a,
    const float* b,
    float* out,
    int n) {

    int idx = blockIdx.x * blockDim.x + threadIdx.x;

    if (idx < n)
        out[idx] = a[idx] + b[idx];
}
Теперь его нужно запускать так:
void add_cuda(torch::Tensor a,
              torch::Tensor b,
              torch::Tensor out) {
    int n = a.numel();

    int threads = 256;
    int blocks = (n + threads - 1) / threads;

    add_kernel<<<blocks, threads>>>(
        a.data_ptr<float>(),
        b.data_ptr<float>(),
        out.data_ptr<float>(),
        n);
}
Затем экспортируем функцию через pybind11:
PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) {
    m.def("add_cuda", &add_cuda);
}
После этого собираем расширение:
from torch.utils.cpp_extension import load

ext = load(
    name="my_extension",
    sources=[
        "my_extension.cpp",
        "my_kernel.cu"
    ]
)
Теперь его можно использовать прямо из PyTorch:
out = torch.empty_like(a)
ext.add_cuda(a, b, out)
Подробнее это разобрано в руководстве PyTorch. 👉 @Cpportal

Можно оставить библиотеку на C и при этом использовать C++ для управления её ресурсами. Небольшая обёртка вокруг FILE* избавл
+2
Можно оставить библиотеку на C и при этом использовать C++ для управления её ресурсами. Небольшая обёртка вокруг FILE* избавляет от необходимости вручную закрывать файл как при обычном выходе из функции, так и при возникновении исключения. Именно такие абстракции C++ мне проще всего оправдать. А ещё лучше — использовать defer. 👉 @Cpportal

Redis Cluster использует ровно 16 384 хеш-слота, и это число выбрано не случайно. Главный трюк здесь — хеш-теги. {user100}:ca
Redis Cluster использует ровно 16 384 хеш-слота, и это число выбрано не случайно. Главный трюк здесь — хеш-теги. {user100}:cart и {user100}:orders хешируют только байты внутри {}. Поэтому оба ключа попадают на один и тот же узел, что позволяет выполнять операции сразу над несколькими ключами в кластерном режиме. 👉 @Cpportal

Руководство, которое стоит всегда держать под рукой при выполнении заданий по программированию. https://agner.org/optimize/op
Руководство, которое стоит всегда держать под рукой при выполнении заданий по программированию. https://agner.org/optimize/optimizing_cpp.pdf 👉 @Cpportal

Сегодня узнал, что SQLite преобразует целые числа в текст сразу по две цифры. Обычно преобразование числа в строку делают цик
Сегодня узнал, что SQLite преобразует целые числа в текст сразу по две цифры. Обычно преобразование числа в строку делают циклом с делением на 10 и взятием остатка от деления на 10. SQLite избегает большей части этих операций: внутри хранится строка длиной 200 байт со всеми двузначными комбинациями от 00 до 99. Затем SQLite просто берёт по две цифры за раз по нужному индексу, вместо того чтобы вычислять каждую цифру отдельно. 👉 @Cpportal

В Linux есть код ошибки, который означает, что вы получили блокировку, но предыдущий владелец умер, удерживая её: EOWNERDEAD.
В Linux есть код ошибки, который означает, что вы получили блокировку, но предыдущий владелец умер, удерживая её: EOWNERDEAD. Теперь мьютекс принадлежит вам, и нужно разобраться, не оставил ли другой поток общие данные в состоянии незавершённого обновления. 👉 @Cpportal

Директор Google по исследованиям написал корректор орфографии всего в 21 строку на Python. Питер Норвиг сделал его как просту
Директор Google по исследованиям написал корректор орфографии всего в 21 строку на Python. Питер Норвиг сделал его как простую демонстрацию того, как работает вероятностное исправление опечаток. Он генерирует слова, отличающиеся на одну или две правки, а затем выбирает наиболее вероятный вариант на основе корпуса текстов. 👉 @Cpportal

Любой эмодзи, любой символ CJK, любая некорректная последовательность байтов. UTF-8-декодер Бьёрна Хёрмана обрабатывает всё э
Любой эмодзи, любой символ CJK, любая некорректная последовательность байтов. UTF-8-декодер Бьёрна Хёрмана обрабатывает всё это с помощью конечного автомата, упакованного в таблицу поиска, и небольшой функции декодирования. type = utf8d[byte] state = utf8d[256 + state*16 + type] Некорректный ввод переводит автомат в состояние REJECT, а валидная последовательность возвращает его в ACCEPT. 👉 @Cpportal

Синтаксис рефлексии в C++26 выглядит отвратительно. 👉 @Cpportal
Синтаксис рефлексии в C++26 выглядит отвратительно. 👉 @Cpportal

C++26 добавляет в язык контракты. С их помощью можно задавать предусловия и постусловия, а также другие ограничения. Уже сейч
C++26 добавляет в язык контракты. С их помощью можно задавать предусловия и постусловия, а также другие ограничения. Уже сейчас это работает в GCC 16. Возьмём функцию, которая возвращает остаток от деления, как на изображении. Можно проверить, что делитель не равен нулю и является степенью двойки. По умолчанию, если передать делитель, который нарушает контракт, вызывается обработчик и программа завершается. Это означает, что функция вообще не должна выполняться, если параметры некорректны. Поэтому я ожидал, что GCC сможет полностью избавиться от операции деления при оптимизации. Если n является степенью двойки, то i % n можно заменить на более дешёвое i & (n - 1). Но пока GCC эту оптимизацию не выполняет, как, возможно, и некоторые другие оптимизации, связанные с контрактами. Добиться нужного результата можно с помощью конструкции [[assume ...]], появившейся в C++23. 👉 @Cpportal