Senior C++ Developer – Telegram
Senior C++ Developer
12.3K subscribers
1.36K photos
3 videos
610 links
Изучаем C++.

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

РКН: https://www.gosuslugi.ru/snet/676e9a1e4e740947beca35ba
Download Telegram
Определение новых исключений

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

Это приведет к следующему результату -
MyException caught
C++ Exception

Здесь what() - это открытый метод, предоставляемый классом исключений, и он был переопределен всеми дочерними классами исключений. Это возвращает причину исключения.
Алгоритм distance

Возвращает расстояние до желаемой позиции от первого итератора. Эта функция очень полезна при поиске нужного нам индекса.
Алгоритм adjacent_find

Ищет первую пару одинаковых соседних элементов в диапазоне, ограниченном итераторами [first, last). Если соседние дубликаты найдены, то алгоритм возвращает однонаправленный итератор, указывающий на первый элемент пары, в противном случае возвращается last.
Метод difftime()

Метод difftime() используется для вычисления разницы между двумя значениями времени в секундах.

Подробнее можно почитать здесь.
Пишем собственный игровой движок с помощью C++

С нуля создадим собственный игровой движок с помощью библиотеки SFML и C++, чтобы разобраться, как происходит создание ядра.

Смотреть статью
#вопросы_с_собеседований
Что выведет код сверху?

Ответ: “Constructor called” 5 раз и затем “Destructor called” 5 раз.

В приведенной выше программе мы сначала инициировали переменные с пятью указателями, используя ключевое слово new, следовательно, после этого будет вызван конструктор fives time, поскольку мы используем delete[] (используется для удаления нескольких объектов) для удаления переменных, следовательно, все созданные пять объектов будут уничтожены и, следовательно, будет вызван деструктор five times.
Как включить все стандартные библиотеки одной командой

Чтобы разом включить в проект все стандартные библиотеки, используйте #include <bits/stdc++.h>. Это особенно полезно в условиях дефицита времени на соревнованиях по программированию.

Но помните, что:

#include <bits/stdc++.h>
содержит множество заголовочных файлов, которые, возможно, и не понадобятся в конкретном проекте. А это может привести к увеличению времени компиляции.

#include <bits/stdc++.h> не является стандартным заголовочным файлом библиотеки GNU C++. Таким образом, не относящиеся к типу GCC (GNU Compiler Collection) компиляторы могут испытывать затруднения в процессе исполнения. Однако так бывает не часто!
👨‍💻 Полный курс по C++

Большой плейлист из более чем 200 коротких уроков по C++. Отлично подойдёт тем, кто хочет учить этот язык постепенно по 5-15 минут в день.

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

https://youtu.be/kRcbYLK3OnQ
Алгоритм accumulate

Возвращает сумму всех значений, лежащих в диапазоне между [first, last) с переменной init.
#вопросы_с_собеседований
Что делает данный код?

Правильный ответ: ничего не делает.

int main() // Функция main без аргументов.
{
[] // Объявление лямбда-функции без списка захвата...
() // ... с пустым списком аргументов ...
{} // ... и пустым телом, ...
(); // ... которая тут же вызывается.
}
Задача

В текстовом файле, содержащем текст программы на языке Си, проверить соответствие открывающихся и закрывающихся фигурных скобок { и }. Результат проверки вывести на экран и записать в виде фразы в текстовый файл. Результат работы программы (вывод) поместить в отдельный текстовый файл (например, "out . txt " ), продублировав на экране.
с новым годом, дорогие подписчики. надеюсь следующий год будет не на таких унылиусах как этот
Создание игр на C++: Марио (платформер)

Смотреть видео
Алгоритмы диапазонов C++20 — 7 немодифицирующих операций

Библиотека Ranges для C++20 предлагает альтернативы для большинства алгоритмов. Автор показывает десять немодифицирующих операций. Происходит их сравнение со «старой» стандартной версией и показывается их преимущества и ограничения.

Смотреть статью
Функция isprint()

В C++ isprint() — это предопределенная функция, используемая для обработки строк и символов. cstring — это заголовочный файл, необходимый для строковых функций, а cctype — заголовочный файл, необходимый для символьных функций.

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

Подробнее можно почитать здесь.
#вопросы_с_собеседований
Какой код выполняется до функции main?

Ответ:
Конструкторы глобальных объектов.
Вывод параметра шаблона класса

Довольно странное название функции, да? Её суть в том, что с C++17 компилятор может сам определять типы аргументов конструкторов стандартных классов. Раньше же это работало лишь для функций.

Для того, чтобы осознать удобство этой функции, нужно быть знакомыми с конструкторами классов в C++.
Функция none_of()

Эта функция возвращает true, если ни один из элементов не удовлетворяет данному условию, иначе возвращает false.

Поскольку все элементы положительны, функция возвращает true.