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
Реализация оператора in в С++

Оператор in есть в нескольких языках, например Python, JS. Но в С++ его не завезли, но иногда хочется чтобы он был, так почему бы его не реализовать.

Смотреть статью
#вопросы_с_собеседований
Напишите код для переворота строки

Код переворота строки для контейнеров, без временных переменных, не осуществляющий прохода по всей строке — на картинке.
Метод wcscmp()

Функция wcscmp() определена в заголовочном файле cwchar.h . Функция wcscmp() используется для сравнения двух широких строк, заканчивающихся нулем, и это сравнение выполняется лексикографически.

Подробнее можно почитать здесь.
Алгоритм lexicographic_compare

Совершает лексикографическое сравнение 2 диапазонов

Лексикографическое сравнение - это операция со следующими свойствами:

1)Два диапазона сравниваются поэлементно.
2)Первый элемент несовпадения определяет, какой диапазон лексикографически меньше или больше другого.
3)Если один диапазон является префиксом другого, более короткий диапазон лексикографически меньше другого.
4)Если два диапазона имеют эквивалентные элементы и имеют одинаковую длину, тогда диапазоны лексикографически равны.
5)Пустой диапазон лексикографически меньше любого непустого диапазона.
6)Два пустых диапазона лексикографически равны.
Заменит ли GCC умножение на 2 на сложение?
Anonymous Quiz
44%
Да
31%
Нет
25%
Оптимизация неправильная
Вынесет ли компилятор strlen() в отдельную переменную?
Anonymous Quiz
61%
Да, GCC сделает так
26%
Нет
13%
Это неправильная оптимизация
Преобразование типа с плавающей точкой в целочисленный

Язык C++ не предоставляет примитивную операцию округления чисел с плавающей точкой. Самым простым методом преобразования числа с плавающей точкой x в ближайшее целое число n будет оператор(см на картинке).

Используя такой метод, если x будет точно посередине между двумя целыми числами, то n будет округлено в большую сторону. Например, 0,5 -> 1; 1,5 -> 2; -0,5 -> 0; -1,5 -> -1.
Бинарный поиск

Чаще всего бинарный поиск (бинпоиск) используют, чтобы найти элемент в отсортированном массиве. Мы начинаем искать с середины массива. Если находим то, что нужно, или если больше нечего рассматривать, мы останавливаемся. В противном случае мы решаем, в каком направлении — вправо или влево от середины — мы должны продолжить поиск. Так как пространство поиска после каждой проверки делится на два, то время выполнения алгоритма — O(log n).
Алгоритм iota

Присваивает каждому элементу в диапазоне [first,last) последовательные значения val, как если бы они увеличивались ++val после записи каждого элемента.
Примеры C++ кода до и после Ranges

Измените несортированный диапазон, чтобы он сохранял только уникальные значения, но в обратном порядке.
Создание Aimbot для Half-Life 2

В этом посте мы расскажем о процессе создания aimbot — программы, автоматически прицеливающейся во врагов в игре жанра «шутер от первого лица» (FPS).

Смотреть статью