TGViewer
Channel Public Channel
Senior C++ Developer

Senior C++ Developer

@seniorcpp

Изучаем C++.

По вопросам сотрудничества: @adv_and_pr

РКН: https://www.gosuslugi.ru/snet/676e9a1e4e740947beca35ba
Subscribers
11.6K
Photos
1.5K
Videos
3
Links
641

Showing posts older than #1884 · Back to latest

Older Posts 20 shown
Post #1883 3.15K
std::cerr

std::cerr — это объект класса std::ostream, который используется для вывода сообщений об ошибках в программе на стандартное устройство вывода ошибок (stderr).

std::cerr является членом стандартной библиотеки языка C++ и определен в заголовочном файле iostream.

Для вывода сообщения об ошибке на std::cerr можно использовать оператор << следующим образом:

std::cerr << "Ошибка: " << сообщение << std::endl;

#для_продвинутых
Post #1882 2.83K
std::future_error

Класс std::future_error представляет собой исключение, которое выбрасывается в случае ошибки при использовании функций библиотеки потоков, связанных с асинхронным выполнением и общими состояниями (std::future, std::promise и т. д.). Подобно std::system_error, это исключение содержит код ошибки, совместимый с std::error_code.

Класс std::future_error наследуется от std::logic_error и std::exception.

#для_продвинутых
Post #1881 2.83K
std::condition_variable_any

Класс std::condition_variable_any представляет собой примитив синхронизации, используемый с объектом std::mutex для блокировки одного или нескольких потоков до тех пор, пока другой поток не изменит разделяемую переменную (условие) и не оповестит условную переменную.

Класс std::condition_variable_any является более общей реализацией, чем std::condition_variable. Он работает с любым типом, который можно заблокировать. Эта блокировка передается методу wait(), который освобождает мьютекс и приостанавливает поток, пока не будет получен сигнал от условной переменной.

#для_продвинутых
Post #1879 2.97K
Функция std::fill_n

Функция std::fill_n из заголовочного файла <algorithm> используется для заполнения заданного диапазона элементов в контейнере одним и тем же значением.

Параметры функции:
first: Итератор, указывающий на начальную позицию в диапазоне.
n: Количество элементов, которые нужно заполнить.
val: Значение, которым будут заполнены элементы.

#для_продвинутых
Post #1877 2.71K
Функция std::shuffle

Функция std::shuffle из стандартной библиотеки C++ используется для перемешивания элементов в диапазоне в случайном порядке.

Синтаксис:
std::shuffle(begin, end);


Параметры:
begin: итератор, указывающий на начало диапазона, который нужно перемешать.
end: итератор, указывающий на элемент, следующий за последним элементом, который нужно перемешать.

Описание:
Функция std::shuffle использует генератор случайных чисел для определения нового порядка элементов в диапазоне.

#для_продвинутых
Post #1876 2.83K
Функция std::next_permutation

Функция std::next_permutation из стандартной библиотеки C++ используется для генерации следующей лексикографической перестановки элементов в диапазоне.

Функция next_permutation работает следующим образом:

1. Находит самый правый элемент, который меньше своего соседа справа.
2. Находит самый правый элемент, который больше элемента, найденного на шаге 1.
3. Меняет местами эти два элемента.
4. Сортирует оставшиеся элементы в диапазоне в возрастающем порядке.

#для_начинающих
Post #1875 3.11K
std::includes

Эта функция проверяет, является ли один диапазон подмножеством другого. Это может быть полезно для проверки, содержит ли один контейнер все элементы другого.

#для_начинающих
Post #1873 2.9K
std::swap_ranges

Эта функция меняет местами элементы в двух диапазонах. Это может быть полезно для сортировки элементов или перемещения элементов между двумя контейнерами.

#для_начинающих
Post #1870 2.77K
Создаем свою STL-совместимую реализацию std::allocator с лучшей производительностью

Реализация защиты от сбоев из-за фрагментации кучи и повышение скорости выполнения с помощью STL-альтернативы std::allocator, работающей с блоками памяти фиксированного размера.

Смотреть статью
Post #1868 2.71K
std::placeholders

std::placeholders — это пространство имен в стандартной библиотеке C++, которое содержит набор объектов-заполнителей (_1, _2, ..., _N), используемых при работе с функцией std::bind.

Функция std::bind позволяет связывать аргументы с функцией, создавая новый объект-функцию, который может быть вызван позже. Заполнители в std::placeholders используются для обозначения мест в списке аргументов, где будут подставлены значения при вызове нового объекта-функции.

#для_продвинутых
Post #1866 3.01K
std::invoke

std::invoke — это шаблонная функция, добавленная в C++17, которая позволяет вызывать произвольные объекты, как функции. Она может быть полезна в различных ситуациях, таких как вызов функций-членов, вызов лямбда-выражений и вызов функций с неизвестным типом.

Синтаксис:
std::invoke(callable, args...);


callable: объект, который будет вызван как функция. Это может быть указатель на функцию, функтор, лямбда-выражение или любой другой объект, который имеет оператор вызова().
args: аргументы, которые будут переданы callable.

#для_продвинутых
Post #1862 2.89K
Поиск в ширину

Поиск в ширину (breadth-first search, BFS) - это алгоритм поиска или обхода графа. Он исследует все вершины на одном уровне, прежде чем переходить к следующему уровню.

Этот пример иллюстрирует обход в ширину для следующего графа:
0
/ \
1-----2
\
3
Начиная с вершины 2, алгоритм BFS посетит вершины в следующем порядке: 2, 0, 3, 1.
Post #1861 2.86K
Что такое виртуальный деструктор и зачем он используется в C++?

В C++ виртуальный деструктор используется для правильного освобождения памяти при удалении объекта через указатель на базовый класс. Если базовый класс имеет виртуальный деструктор, то при удалении объекта через указатель на базовый класс будет вызван деструктор не только базового класса, но и всех его производных классов. Это позволяет избежать утечек памяти и неопределенного поведения при работе с полиморфными объектами.

Если виртуального деструктора не объявлено в базовом классе, то при удалении производного объекта через указатель на базовый класс будут вызываны только деструкторы базового класса, что может привести к утечкам памяти и неопределенному поведению.
Post #1859 2.99K
Redis plus plus

Redis – это быстрое хранилище данных типа «ключ‑значение» в памяти с открытым исходным кодом.

Redis plus plus - это клиентская библиотека C++ для работы с Redis.

git clone https://github.com/redis-developer/redis-plus-plus-modules.git
cd redis-plus-plus-modules
./bootstrap.sh
./configure
make -j8

🖥 Github
Post #1858 3.14K
Stellarium — это бесплатное программное обеспечение GPL, которое визуализирует реалистичное небо в реальном времени с помощью OpenGL. Он доступен для Linux/Unix, Windows и macOS. В Stellarium вы действительно видите то, что можете увидеть своими глазами, биноклем или небольшим телескопом.

https://www.libhunt.com/r/stellarium
Libhunt Stellarium Alternatives and Reviews Which is the best alternative to stellarium? Based on common mentions it is: uBlock, Bypass-paywalls-chrome, SponsorBlock, Go-unsplash, Koneko, Bevy or Kodi Home Theater Software
Post #1856 2.85K
Флажки компиляции

Флажки компиляции — это опции или параметры, которые передаются компилятору программного кода для управления процессом компиляции. Компиляторы - это программы, которые преобразуют исходный код программы, написанный на языке программирования, в машинный код или другой формат, который может быть выполнен компьютером.

Флажки компиляции используются для различных целей, таких как оптимизация кода, установка целевой архитектуры, включение или выключение определенных функций и возможностей языка программирования, а также для управления процессом отладки и создания исполняемых файлов.

#для_продвинутых
Post #1855 3.45K
Post #1853 3.03K
override

Ключевое слово override используется для указания того, что функция в производном классе представляет собой переопределение (override) функции базового класса. Это помогает убедиться, что функция в производном классе действительно переопределяет функцию базового класса, и при компиляции будет сгенерирована ошибка, если это не так.

#для_начинающих
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →