Изучаем C++. По вопросам сотрудничества: @adv_and_pr
Создание игры Pac-Man на C++
Смотреть видео
Особенности вызова функций в С++
Смотреть статью
Cocos2D-X
Библиотека предназначена для упрощения разработки мобильных игр. Пользователи отмечают её доступность, простоту использования и наличие специального конструктора на основе Cocos Creator. Кстати, с использованием этой библиотеки была разработана игра Badland.
Если в игру планируется добавление большого количество анимации и графики, то лучше использовать Unity, который позволяет интегрировать файлы из таких программ, как Photoshop, Maya или Blender.
Подробнее можно ознакомиться здесь.
Алгоритм reverse_copy
Алгоритм копирует элементы из заданного диапазона, но в обратном порядке.
Принимает три параметра. Первые два параметра — это диапазон копируемых элементов, а третий параметр — начальная точка, из которой элементы копируются в обратном порядке.
Проверяем, содержит ли строка только буквы в C++
Мы можем использовать регулярное выражение, чтобы проверить, содержит ли строка только буквы.
Начиная с C++11, мы можем использовать std::regex_match для сопоставления последовательности с регулярным выражением.
Как в С++ обрабатывать ошибки в конструкторах без исключений?
Самый очевидный способ обработки ошибок — это возврат значений. Но конструкторы не возвращают значения, поэтому так поступить нельзя. Это и было одной из причин, по которой исключения появились в С++.
Смотреть статью
Вычисление количества цифр числа
Чтобы вычислить количество цифр в числе, вместо цикла мы можем эффективно использовать log.
В нашем примере мы получаем, что количество цифр числа 2468 равно 4.
Собеседование С Европейской Компанией. Senior C++ Developer
Смотреть видео
Примеры C++ кода до и после Ranges
Измените несортированный диапазон, чтобы он сохранял только уникальные значения, но в обратном порядке.
У вас есть сайт? Получите 4 месяца хостинга бесплатно!
Хостинг SpaceWeb проводит беспрецедентную акцию для владельцев сайтов. Спецы из SpaceWeb бережно перенесут ваши сайты за 1 ночь и подарят до 4 месяцев космического хостинга. А если сайта у вас еще нет, то в SpaceWeb стоимость хостинга для сайта начинается от 49 ₽/мес.
Сделайте 3 простых шага для получения подарка:
Зарегистрируйтесь на любом тарифе хостинга
Оставьте заявку на перенос вашего сайта
Получите хостинг в подарок
Почему стоит перенести сайты в SpaceWeb
Устали от даунтаймов? - Uptime серверов 99.98% c 2001 года, защита от DDoS на всех тарифах.
Надоел вялый саппорт? - Отвечают по существу в течение 1-2 минут в чате и по телефону.
Хватит переплачивать! - Скидки до 43% на хостинг, выгодные тарифы от 49 ₽/мес.
Переходите и тестируйте бесплатно 14 дней!
➡️ Попробовать бесплатно
Реклама. ООО "СпейсВэб" erid: 2VtzqwfAYtH
Преобразование типа с плавающей точкой в целочисленный
Язык C++ не предоставляет примитивную операцию округления чисел с плавающей точкой. Самым простым методом преобразования числа с плавающей точкой x в ближайшее целое число n будет оператор(см на картинке).
Используя такой метод, если x будет точно посередине между двумя целыми числами, то n будет округлено в большую сторону. Например, 0,5 -> 1; 1,5 -> 2; -0,5 -> 0; -1,5 -> -1.
Алгоритм lexicographic_compare
Совершает лексикографическое сравнение 2 диапазонов
Лексикографическое сравнение - это операция со следующими свойствами:
1)Два диапазона сравниваются поэлементно.
2)Первый элемент несовпадения определяет, какой диапазон лексикографически меньше или больше другого.
3)Если один диапазон является префиксом другого, более короткий диапазон лексикографически меньше другого.
4)Если два диапазона имеют эквивалентные элементы и имеют одинаковую длину, тогда диапазоны лексикографически равны.
5)Пустой диапазон лексикографически меньше любого непустого диапазона.
6)Два пустых диапазона лексикографически равны.
#вопросы_с_собеседований
Напишите код для переворота строки
Код переворота строки для контейнеров, без временных переменных, не осуществляющий прохода по всей строке — на картинке.
Реализация оператора in в С++
Оператор in есть в нескольких языках, например Python, JS. Но в С++ его не завезли, но иногда хочется чтобы он был, так почему бы его не реализовать.
Смотреть статью
Нам действительно нужно неопределенное поведение?
https://www.ralfj.de/blog/2021/11/24/ub-necessary.html
Пишем свой парсер математических выражений и калькулятор командной строки
Смотреть статью
Бьерн Страуструп: Почему я создал C++ (перевод)
Перевод интервью с Бьерном Страуструпом 2011 года, в котором он рассказывает как и почему он пришел к созданию языка программирования C++.
Смотреть видео
Возврат нескольких значений из функции
Вы можете написать функцию, которая будет возвращать два и более значений, с помощью std::tuple и std::tie.
Почему я программирую на С/C++ (язык для профессионалов!)
Смотреть видео
Алгоритм rotate
Меняет местами элементы в диапазоне [first, last) таким образом, что элемент n_first становится первым в новом диапазоне, а n_first-1 — последним.
Параметры:
first, last - диапазон элементов для изменения их порядка.
n_first - элемент, который должен стать первым в новом диапазоне.
Функция atoi
Функция atoi преобразует строку string в целое значение типа int. Анализируя строку string, atoi интерпретирует её содержание, как целое число, которое возвращается как int.
Функция сначала отбрасывает символы пробелов до тех пор, пока не будет найден символ отличный от нуля. Затем, начиная с этого символа, функция принимает необязательный начальный знак плюс или минус. После чего, следует последовательность цифр, которая интерпретируется в числовое значение.
Строка может содержать другие символы после считанного целого числа, эти символы игнорируются и никак не влияют на поведение этой функции.
Если первая последовательность не-пробельных символов в строке string не является целым числом, или, если string пустая или содержит только пробельные символы, преобразование не выполняется.
Создание Aimbot для Half-Life 2
В этом посте мы расскажем о процессе создания aimbot — программы, автоматически прицеливающейся во врагов в игре жанра «шутер от первого лица» (FPS).
Смотреть статью
Алгоритм iota
Присваивает каждому элементу в диапазоне [first,last) последовательные значения val, как если бы они увеличивались ++val после записи каждого элемента.
Бинарный поиск
Чаще всего бинарный поиск (бинпоиск) используют, чтобы найти элемент в отсортированном массиве. Мы начинаем искать с середины массива. Если находим то, что нужно, или если больше нечего рассматривать, мы останавливаемся. В противном случае мы решаем, в каком направлении — вправо или влево от середины — мы должны продолжить поиск. Так как пространство поиска после каждой проверки делится на два, то время выполнения алгоритма — O(log n).
C++ — это замечательно, и вот почему
Смотреть статью
Как оценить реальную производительность своего кода.
https://habr.com/ru/company/ruvds/blog/698016/
Метод wcscmp()
Функция wcscmp() определена в заголовочном файле cwchar.h . Функция wcscmp() используется для сравнения двух широких строк, заканчивающихся нулем, и это сравнение выполняется лексикографически.
Подробнее можно почитать здесь.
Как протащить верблюда сквозь игольное ушко, или обновление компилятора С++ на проекте старше 10 лет
Смотреть статью
5 любопытных примеров C++ Lambda: рекурсия, constexpr, контейнеры и многое другое (включая C++23!)
https://www.cppstories.com/2020/07/lambdas5ex.html/
перевод: https://habr.com/ru/company/otus/blog/577074/