С/С++ Portal | Программирование
Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3Foc4d
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام С/С++ Portal | Программирование
تُعد قناة С/С++ Portal | Программирование (@cpportal) في القطاع اللغوي الروسية لاعباً نشطاً. يضم المجتمع حالياً 14 822 مشتركاً، محتلاً المرتبة 8 405 في فئة التكنولوجيات والتطبيقات والمرتبة 43 843 في منطقة روسيا.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 14 822 مشتركاً.
بحسب آخر البيانات بتاريخ 15 سبتمبر, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار -138، وفي آخر 24 ساعة بمقدار -10، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 14.16%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 7.89% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 099 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 170 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 28.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل linux, ядро, c++, процессор, указатель.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Присоединяйтесь к нашему каналу и погрузитесь в мир для C/C++-разработчика
Сотрудничество, реклама: @devmangx
Работаем с @Spiral_Yuri
РКН: https://clck.ru/3Foc4d”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 16 سبتمبر, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
18 сентября — приходи на онлайн-трансляцию, где мы расскажем подробнее о практических курсах и ответим на все вопросы. После вебинара пройдет обзорная лекция про системное программирование и роль языка С. Регистрация — здесь.
std::expected сигнатура функции может описывать и результат резервирования, и ожидаемые варианты ошибок. Это делает API проще в использовании.
👉 @Cpportal.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.
👉 @CpportalFILE* избавляет от необходимости вручную закрывать файл как при обычном выходе из функции, так и при возникновении исключения.
Именно такие абстракции C++ мне проще всего оправдать.
А ещё лучше — использовать defer.
👉 @Cpportal{user100}:cart и {user100}:orders хешируют только байты внутри {}.
Поэтому оба ключа попадают на один и тот же узел, что позволяет выполнять операции сразу над несколькими ключами в кластерном режиме.
👉 @CpportalEOWNERDEAD.
Теперь мьютекс принадлежит вам, и нужно разобраться, не оставил ли другой поток общие данные в состоянии незавершённого обновления.
👉 @Cpportaltype = utf8d[byte]
state = utf8d[256 + state*16 + type]
Некорректный ввод переводит автомат в состояние REJECT, а валидная последовательность возвращает его в ACCEPT.
👉 @Cpportali % n можно заменить на более дешёвое i & (n - 1).
Но пока GCC эту оптимизацию не выполняет, как, возможно, и некоторые другие оптимизации, связанные с контрактами.
Добиться нужного результата можно с помощью конструкции [[assume ...]], появившейся в C++23.
👉 @Cpportal