Библиотека C/C++ разработчика | cpp, boost, qt
21K subscribers
1.57K photos
40 videos
16 files
3.74K links
Все самое полезное для плюсовика и сишника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/d6cd2932

Наши каналы: https://yangx.top/proglibrary/9197

РКН: https://gosuslugi.ru/snet/67a5bac324c8ba6dcaa1ad17
加入频道
Алгоритм includes

Используется для распознавания, существуют ли все числа тз одного контейнера в других контейнерах. Это помогает проверить, является ли набор подмножеством другого набора или нет, учитывая, что набор упорядочен. Ожидается, что элементы будут отсортированы по порядку.
😱🤓 Неожиданное взаимодействие предсказания ветвлений и подсистем памяти

Статья посвящена оптимизации подсистем памяти.

В ней про взаимодействие механизма предсказания ветвлений с подсистемой памяти.

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

Далее вас ждут примеры и подробный разбор

#гайд
std::byte

std::byte — это тип данных, введенный в стандарт C++17. Он представляет собой один байт, то есть 8 бит. std::byte не является ни типом символа, ни типом числа. Он предназначен для представления байтов в памяти, независимо от того, используются они для хранения символов, чисел или чего-либо еще.

std::byte может использоваться в следующих случаях:
🔹 Для доступа к памяти, занимаемой другими объектами.
🔹 Для работы с низкоуровневыми функциями, такими как чтение и запись в порты ввода-вывода.
🔹 Для реализации собственных типов данных, которые должны хранить байты.
Ответ: 2^32 - 25, то есть 4294967271.

Объяснение: вычитание имеет бОльший приоритет и выполнится раньше, чем вывод на экран.
25u означает unsigned int, вместимость этого типа от 0 до 2^32-1.
50 приводится к типу левого аргумента, и становится тоже unsigned int. При вычитании не может получиться отрицательное число, а так как беззнаковые типы "свёрнуты в кольцо", то -25 в unsigned int будет равно 2^32 - 25.
Алгоритм gcd

Используется для нахождения НОД двух чисел. Он принимает два значения одного типа данных в качестве аргументов и возвращает их НОД.
🤔 Очередной #дайджест по С++

Рассказы о SObjectizer — продолжение серии и работа с командами

Создание deb-пакета для самых маленьких — из простого проекта с разделяемыми библиотеками

Syrmia представила Autocheck — проект на базе LLVM/Clang для проверки кода C/C++ на соответствие стандарту AUTOSAR

Объединение интервалов в C++ нового поколения — объедините все перекрывающиеся интервалы и верните массив неперекрывающихся интервалов, которые охватывают все интервалы во входных данных

Что нам недодали в C++ — крик души и требования о выкупе
Что делает std::string::at()?

std::string::at() — это функция, предоставляемая классом std::string для доступа к отдельным символам в строке. Она принимает индекс в качестве аргумента и возвращает символ в указанной позиции.

Функция at() выполняет проверку границы (boundary check), что означает, что она проверяет, находится ли переданный индекс в пределах допустимых значений для строки. Если индекс находится вне диапазона, генерируется исключение std::out_of_range. Это отличается от оператора [], который не выполняет такую проверку.
🎥 Что спросить у работодателя на IT интервью

Чек-лист вопросов, чтобы не забыть спросить о чем-то своего будущего работодателя.

00:22 — Какие цели у команды / проекта / компании
00:39 — Что сделали интересного за несколько лет
01:05 — Какие у меня будут цели и задачи
01:30 — Какой размер и состав команды
01:57 — Какие языки и технологии используются
02:08 — Как устроены процессы в команде
02:33 — Что с кодом
02:53 — Какие у меня будут перспективы роста
03:04 — Какие сейчас есть проблемы
03:28 — Почему ищите человека на эту вакансию
Какая разница между структурой и классом?

Главное отличие заключается в том, что структуры по умолчанию имеют public доступ к своим полям, в то время как классы по умолчанию имеют private доступ.

— Структуры обычно используются для простых объектных типов данных, в то время как классы — для более сложных объектов.
— Структуры копируются по значению, а классы — по ссылке. Это означает, что при копировании структуры создается новый объект, а при копировании класса копируется указатель на объект.
— Структуры не поддерживают наследование, в отличие от классов.

В целом, структуры чаще используются для простых данных, а классы — для представления более сложных сущностей и их взаимодействия.
Выбор между ними зависит от конкретной задачи и требований к программе.
std::find_if

std::find_if — это стандартный алгоритм, предоставляемый библиотекой . Этот алгоритм предназначен для поиска первого элемента в заданном диапазоне, который удовлетворяет заданному условию, определенному предикатом.

Вот общий формат std::find_if:

#include

template
InputIt find_if(InputIt first, InputIt last, UnaryPredicate p);

first и last представляют диапазон элементов для поиска. first указывает на начало диапазона, а last указывает за его пределы.
p — это унарный предикат, то есть функция, принимающая один аргумент и возвращающая true, если элемент удовлетворяет условию, и false в противном случае.
🤔 Очередной #дайджест по С++

Итоги развития экосистемы C++ в 2023 году — рост C++20, широкое внедрение инструментов на базе Clang, ИИ завоевывает доверие разработчиков и многое другое

Анализ приложений на C++ для оптимизации производительности — введение в оптимизацию производительности приложений на C++ с помощью таких инструментов, как Intel VTune Profiler и Intel Advisor

Как я поднял свой сервер без возможности выставить для него статический IP адрес — как обойти провайдерский dhcp с помощью бота и прочие развлечения

Dependency Injection контейнеры .NET, допускающие полиморфное поведение — когда при разработке приложения на платформе .NET с внедрением зависимостей и сервисами от контейнера требуется поддержка полиморфного поведения

Расширяемая архитектура RISC-V и Syntacore SW Tools — знакомство с открытой расширяемой архитектурой RISC-V на примере ядер Syntacore и с особенностями оптимизации и разработки программ под RISC-V
Какой оператор используется для определения члена класса вне определения класса?
Anonymous Quiz
14%
->
3%
>>
11%
.
73%
::
Что такое SIMD?

SIMD (Single Instruction, Multiple Data) инструкции представляют собой набор команд и возможностей, предоставляемых аппаратным средством процессора, которые позволяют выполнять одну операцию над несколькими элементами данных одновременно.

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

В качестве параметров передаются два числа. При делении первого параметра на второй будет получен остаток, возможно, нулевой. Верните это значение.

Примеры:
Remainder(3, 4) ➞ 3
Remainder(-9, 45) ➞ -9
Remainder(5, 5) ➞ 0

Пишите ваши варианты в комментариях, а ответ будет ниже через 30 минут.