Публикации по теме 'cplusplus'


Ежедневный бит(е) C++ | Найдите единственное число
Ежедневный бит (е) C ++ # 219, Общая задача на собеседовании: найти единственное число. Сегодня мы рассмотрим обычное интервью по C++: Найдите единственное число. Дан отсортированный массив целых чисел в виде std::vector‹int› , где все значения присутствуют дважды, за исключением одного единственного числа, возвращает единственное число. Ваше решение должно работать в режиме O(logn) и использовать память O(1) . Например, для ввода {1,1,4,4,5,5,7,9,9} результатом будет 7..

Ежедневный бит(е) C++ | оператор typeid, std::type_info
Ежедневный бит (е) C ++ # 200, Инструменты запросов и информации о типах во время выполнения: typeid и std:: type_info. Оператор typeid может применяться к типам и выражениям и возвращает ссылку на объект std::type_info , представляющий тип (выражения). При применении к полиморфным типам (за исключением процессов построения и уничтожения) оператор typeid вычисляет выражение и возвращает динамический тип выражения. #include <iostream> #include <typeinfo> // Get an..

Ежедневный бит(е) C++ | std::shared_mutex
Ежедневный бит (е) C++ # 15, мьютекс с общими блокировками: std::shared_mutex std::shared_mutex — это вариант std::mutex C++14 (C++17 для версии без синхронизации) std::mutex , который поддерживает два типа блокировок: монопольную блокировку, которая может удерживаться только одним потоком, и общую блокировку, которая может удерживаться любым потоком. количество потоков (пока эксклюзивная блокировка не удерживается). Это семантика, обычно необходимая для доступа для чтения и..

Семантика перемещения C++
Концепция семантики перемещения была впервые представлена ​​в C++ 11, что является уникальной концепцией, имеющейся лишь в нескольких языках. Благодаря движущейся семантике создание временных объектов можно было легко оптимизировать, не прибегая к многочисленным уловкам, позволяющим избежать ненужных копий. Зачем нам нужна семантика перемещения? Не делать избыточное копирование временных объектов, что снижает производительность. Более читаемые операции подкачки Не зависеть только от..

Ежедневный бит(е) C++ | std::partial_sort_copy
Daily bit(e) C++ #87, Алгоритм частичной сортировки, который может работать с входными диапазонами: std::partial_sort_copy Большинство алгоритмов сортировки в стандартной библиотеке требуют, чтобы исходный диапазон был диапазоном произвольного доступа. Однако алгоритм std::partial_sort_copy выделяется из общего ряда, поскольку он может работать с входными диапазонами. #include <iostream> #include <algorithm> #include <vector> #include <iterator>..

Введение в C++: вопросы, о которых вы наверняка думали при изучении C++ (часть 1).
Предварительные требования: основы функционального программирования и работы с памятью на C. Когда я начал изучать C++, мне нужно было понять, с чего начать; было так много вещей, которые нужно было знать одновременно, что заставило меня задуматься над многими вопросами, пока я следил за учебниками на Youtube или читал документацию. В этой серии статей я отвечу на вопросы, которые возникали у меня при изучении C++, а также на общие понятия, которые я обнаружил в своих 42 школьных..

Введение в Раст. Проницательный инженер C++ (память, обработка ошибок)
Rust — невероятно увлекательный язык, предлагающий неоспоримое преимущество: возможность создавать код с выдающейся производительностью во время выполнения, снимая при этом проблемы с управлением памятью, обычно связанные с C++. Это замечательно, учитывая, что проблемы с управлением памятью часто мешают значительной части наших программ. Удивительным аспектом работы разработчика C++ является то, что мы, как правило, обладаем солидным опытом системного программирования. Этот опыт дает..