#Собес
🤔 Что такое тип возвращаемого значения функции В С++?
Тип возвращаемого значения функции в С++ указывается перед её именем и определяет, какой тип данных функция будет возвращать. Это может быть любой тип данных, включая встроенные (например,
👉 Новости 👉 База вопросов
Тип возвращаемого значения функции в С++ указывается перед её именем и определяет, какой тип данных функция будет возвращать. Это может быть любой тип данных, включая встроенные (например,
int, float ) и пользовательские типы (например, классы).Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
#полезное
😊 В языке C вы можете присваивать значение от
Иногда я хочу, чтобы мой код на C компилировался в компиляторе C++, и для этого использую этот макрос, чтобы код работал и там, и там, даже если тип указателя анонимный. В языке C он ничего не делает.
👉 Новости 👉 База вопросов
void* к любому другому указателю, но не в C++.Иногда я хочу, чтобы мой код на C компилировался в компиляторе C++, и для этого использую этот макрос, чтобы код работал и там, и там, даже если тип указателя анонимный. В языке C он ничего не делает.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2
#полезное
🤯 std::destroy_at()
👉 Новости 👉 База вопросов
std::destroy_at() (C++17) вручную вызывает деструктор объекта без освобождения памяти. Это полезно при использовании нестандартных аллокаторов или ручном управлении памятью.Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
👍 GLIM — это гибкая и расширяемая платформа для 3D картографирования на основе дальномерных данных!
✅ Она обеспечивает высокую точность за счет минимизации ошибок при регистрации нескольких сканов с использованием факторных графов, что позволяет сохранять согласованность результатов картографирования. Поддерживается ускорение с помощью GPU для максимизации скорости и качества построения карт.
Гитхаб
👉 Новости 👉 База вопросов
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес
🤔 Как передаются аргументы функции в С++?
В С++ аргументы могут быть переданы в функцию по значению или по ссылке. При передаче по значению создаются копии значений, и изменения внутри функции не затрагивают оригинальные данные. При передаче по ссылке передается адрес памяти аргумента, что позволяет функции изменять оригинальные значения.
👉 Новости 👉 База вопросов
В С++ аргументы могут быть переданы в функцию по значению или по ссылке. При передаче по значению создаются копии значений, и изменения внутри функции не затрагивают оригинальные данные. При передаче по ссылке передается адрес памяти аргумента, что позволяет функции изменять оригинальные значения.
Please open Telegram to view this post
VIEW IN TELEGRAM
YeaHub
YeaHub — тренажер собеседований по IT
5000+ вопросов для подготовки к интервью. Фильтры, квизы, статистика!
❤1👍1
Media is too big
VIEW IN TELEGRAM
#полезное
😊 Проект — написание брандмауэра для Linux на C с нуля
В этом проекте по кибербезопасности вы изучите множество сетевых технологий, узнаете, как работает интернет-трафик, и научитесь использовать это в своем коде на C. Также вы освоите такие вещи, как сырые сокеты, режим прослушивания (promiscuous mode), netlink и UNIX-доменные сокеты.
📱 Источник
👉 Новости 👉 База вопросов
В этом проекте по кибербезопасности вы изучите множество сетевых технологий, узнаете, как работает интернет-трафик, и научитесь использовать это в своем коде на C. Также вы освоите такие вещи, как сырые сокеты, режим прослушивания (promiscuous mode), netlink и UNIX-доменные сокеты.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
😐 Утечки памяти и отладка с помощью Valgrind
Valgrind – это инструмент для отладки и профилирования, который помогает находить:
🟠 Утечки памяти
🟠 Неправильное использование выделенной памяти. Например, выход за границы массива
🟠 Использование неинициализированных переменных
После запуска Valgrind выведет отчёт, в котором укажет, где программа выделила, но не освободила память
Пример утечки и исправления
Утечка:
Освобождение памяти
👉 Новости 👉 База вопросов
Valgrind – это инструмент для отладки и профилирования, который помогает находить:
valgrind --leak-check=full ./my_program
После запуска Valgrind выведет отчёт, в котором укажет, где программа выделила, но не освободила память
Пример утечки и исправления
Утечка:
int *arr = malloc(10 * sizeof(int));
Освобождение памяти
int *arr = malloc(10 * sizeof(int));
free(arr);
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
#полезное
😐 Книга "Practical Binary Analysis" от Денниса Андрисека — для тех, кто хочет залезть под капот бинарников и разобраться, как реально работает анализ исполняемых файлов на практике.
Это гайд по реверс-инжинирингу, анализу уязвимостей, и low-level хакингу, но через практику. С фокусом на бинарники, дизассемблирование, символьное исполнение, и даже немного эксплойтов. Всё с реальными примерами и кодом.
Ознакомиться
👉 Новости 👉 База вопросов
Это гайд по реверс-инжинирингу, анализу уязвимостей, и low-level хакингу, но через практику. С фокусом на бинарники, дизассемблирование, символьное исполнение, и даже немного эксплойтов. Всё с реальными примерами и кодом.
Ознакомиться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#Собес #mongoDB
🤔 Что такое коллекция в MongoDB?
Коллекция в MongoDB - это группа документов, связанных между собой по смыслу. В отличие от таблиц в реляционных базах данных, коллекции не имеют жесткой схемы, что позволяет хранить документы с разной структурой в одной коллекции.
👉 Новости 👉 База вопросов
Коллекция в MongoDB - это группа документов, связанных между собой по смыслу. В отличие от таблиц в реляционных базах данных, коллекции не имеют жесткой схемы, что позволяет хранить документы с разной структурой в одной коллекции.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🥺 Взаимодействие между процессами (IPC) в C
IPC позволяет процессам обмениваться данными и взаимодействовать с помощью таких методов, как каналы, очереди сообщений, общая память и сокеты, обеспечивая эффективное взаимодействие.
Механизм межпроцессного взаимодействия (IPC) — это способ, с помощью которого процессы могут обмениваться информацией и координировать свои действия. Это важно в многозадачных системах, где процессы должны работать вместе или делить ресурсы.
Основные методы IPC в C:
🟠 Pipe — односторонняя передача данных между родственными процессами
🟠 Message Queue - обмен структурированными сообщениями с управлением через очередь
🟠 Shared Memory - самый быстрый способ — процессы используют общий участок памяти
🟠 Socket - связь между процессами как на одной машине, так и по сети
👉 Новости 👉 База вопросов
IPC позволяет процессам обмениваться данными и взаимодействовать с помощью таких методов, как каналы, очереди сообщений, общая память и сокеты, обеспечивая эффективное взаимодействие.
Механизм межпроцессного взаимодействия (IPC) — это способ, с помощью которого процессы могут обмениваться информацией и координировать свои действия. Это важно в многозадачных системах, где процессы должны работать вместе или делить ресурсы.
Основные методы IPC в C:
Please open Telegram to view this post
VIEW IN TELEGRAM
#ЛитКод
Задача: 487. Max Consecutive Ones II
Дан бинарный массив nums, верните максимальное количество последовательных единиц в массиве, если можно перевернуть не более одного нуля.
Пример:
👨💻 Алгоритм:
1⃣ Для каждого возможного начала последовательности в массиве nums начните считать количество нулей.
2⃣ Для каждой последовательности проверяйте, сколько нулей содержится в ней. Если количество нулей не превышает одного, обновите максимальную длину последовательности единиц.
3⃣ Продолжайте проверять все возможные последовательности в массиве, и верните максимальную длину последовательности единиц, удовлетворяющую условию.
😎 Решение:
👉 Новости 👉 База вопросов
Задача: 487. Max Consecutive Ones II
Дан бинарный массив nums, верните максимальное количество последовательных единиц в массиве, если можно перевернуть не более одного нуля.
Пример:
Input: nums = [1,0,1,1,0]
Output: 4
Explanation:
- If we flip the first zero, nums becomes [1,1,1,1,0] and we have 4 consecutive ones.
- If we flip the second zero, nums becomes [1,0,1,1,1] and we have 3 consecutive ones.
The max number of consecutive ones is 4.
class Solution {
public:
int findMaxConsecutiveOnes(vector<int>& nums) {
int longestSequence = 0;
for (int left = 0; left < nums.size(); ++left) {
int numZeroes = 0;
for (int right = left; right < nums.size(); ++right) {
if (nums[right] == 0) {
numZeroes++;
}
if (numZeroes <= 1) {
longestSequence = max(longestSequence, right - left + 1);
}
}
}
return longestSequence;
}
};Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1
#полезное
😊 Собери простой чат-сервер на C менее чем за 40 строк!
🟠 Используя только сокеты и
🟠 Отличный способ изучить TCP, мультиплексирование ввода-вывода и сетевое программирование в Unix.
Полное руководство тык
👉 Новости 👉 База вопросов
poll, ты можешь реализовать обмен сообщениями в реальном времени между терминалом и клиентомПолное руководство тык
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#Собес #mongoDB
🤔 Что такое BSON в MongoDB?
BSON (Binary JSON) - это бинарный формат сериализации, используемый MongoDB для хранения документов. Он расширяет JSON, добавляя поддержку дополнительных типов данных, таких как
👉 Новости 👉 База вопросов
BSON (Binary JSON) - это бинарный формат сериализации, используемый MongoDB для хранения документов. Он расширяет JSON, добавляя поддержку дополнительных типов данных, таких как
Date, ObjectId, и бинарные данные, а также оптимизирует производительность операцийPlease open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
🤓 GPU Puzzles
Набор интерактивных упражнений («паззлов») для обучения программированию под GPU с использованием CUDA.
Это целая серия задач, где требуется написать небольшие CUDA-ядра (ядра GPU), реализующие операции вроде сложения с константой (map), поэлементного суммирования (zip), работы с блоками и потоками, свёртки, матричного умножения и других параллельных алгоритмов.
Основная цель репозитория – дать начинающим возможность непосредственно попрактиковаться в программировании под GPU, без необходимости погружаться в сложную документацию.
Для удобства рекомендуется запускать задания в Google Colab с включённым режимом GPU.
Репозиторий лицензирован по MIT, имеет высокую популярность (более 10 тыс звёзд) и является частью серии обучающих проектов (наряду с
А здесь реализация задач на C++
Гитхаб
👉 Новости 👉 База вопросов
Набор интерактивных упражнений («паззлов») для обучения программированию под GPU с использованием CUDA.
Это целая серия задач, где требуется написать небольшие CUDA-ядра (ядра GPU), реализующие операции вроде сложения с константой (map), поэлементного суммирования (zip), работы с блоками и потоками, свёртки, матричного умножения и других параллельных алгоритмов.
Основная цель репозитория – дать начинающим возможность непосредственно попрактиковаться в программировании под GPU, без необходимости погружаться в сложную документацию.
Для удобства рекомендуется запускать задания в Google Colab с включённым режимом GPU.
Репозиторий лицензирован по MIT, имеет высокую популярность (более 10 тыс звёзд) и является частью серии обучающих проектов (наряду с
Tensor Puzzles, Autodiff Puzzles, Triton Puzzles и другими).А здесь реализация задач на C++
Гитхаб
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
#полезное
😎 memsafe — это попытка сделать язык C++ хотя бы немного безопасным при работе с памятью
Проект добавляет макросы, которые помогают не забывать освобождать память и избегать лишних утечек. Вроде бы всё просто, но приятно
Полезно? Да.
Спасёт от всего? Конечно нет
Но по сравнению с классическим
👉 Новости 👉 База вопросов
Проект добавляет макросы, которые помогают не забывать освобождать память и избегать лишних утечек. Вроде бы всё просто, но приятно
Полезно? Да.
Спасёт от всего? Конечно нет
Но по сравнению с классическим
"malloc/forget/free/maybe", это уже прогресс Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍2
Media is too big
VIEW IN TELEGRAM
#видео
🫠 9 различных проектов на C в 2025 году
Вы научитесь в совершенстве использовать указатели, указатели на функции, продвинутые макросы на основе функций, сетевые протоколы, связанные списки и создавать собственные библиотеки без зависимостей. Эта подборка обязательна как для (почти) начинающих, так и для продвинутых программистов на C
📱 Смотреть источник
👉 Новости 👉 База вопросов
Вы научитесь в совершенстве использовать указатели, указатели на функции, продвинутые макросы на основе функций, сетевые протоколы, связанные списки и создавать собственные библиотеки без зависимостей. Эта подборка обязательна как для (почти) начинающих, так и для продвинутых программистов на C
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1