Изучаем C++. По вопросам сотрудничества: @adv_and_pr
Пишем собственный игровой движок с помощью C++
С нуля создадим собственный игровой движок с помощью библиотеки SFML и C++, чтобы разобраться, как происходит создание ядра.
Смотреть статью
Алгоритм adjacent_find
Ищет первую пару одинаковых соседних элементов в диапазоне, ограниченном итераторами [first, last). Если соседние дубликаты найдены, то алгоритм возвращает однонаправленный итератор, указывающий на первый элемент пары, в противном случае возвращается last.
Определение новых исключений
Вы можете определить свои собственные исключения, наследуя и переопределяя функциональные возможности класса исключений. Ниже приведен пример, который показывает, как вы можете использовать класс std :: exception для реализации своего собственного исключения стандартным способом
Это приведет к следующему результату -MyException caught
Здесь what() - это открытый метод, предоставляемый классом исключений, и он был переопределен всеми дочерними классами исключений. Это возвращает причину исключения.
C++ Exception
Указатели, ссылки и массивы в C и C++: точки над i
https://habr.com/ru/post/251091/
#вопросы_с_собеседований
Что быстрее: постфиксные инкрементные операторы или префиксные? Чем отличается их сигнатура?
Префиксные операторы быстрее. В постфиксных операторах производится дополнительная операция сохранения предыдущего состояния объекта, а затем только увеличение на 1, а в префиксном операторе после инкрементирования объекта, сразу возвращается ссылка объект.
Сигнатура их отличается фиктивным параметром int у постфиксного оператора.
Неклассические контейнеры в C++
https://habr.com/ru/post/664044/
Как проходит собеседование начинающего разработчика на С++: что нужно знать и как подготовиться
В этом посте я собрал подборку понятий и терминов, которые у вас могут спросить на собеседовании на вакансию Junior С++ разработчика, и описал, к чему в принципе вам стоит готовиться.
Смотреть статью
Упрощаем код с помощью if constexpr и концептов C++17/C++20
Смотреть статью
10 самых часто задаваемых вопросов на собеседованиях по C++(на английском)
Смотреть видео
Где найти рейтинг лучших курсов по C++ разработке?
Мы — tutortop, самый крупный агрегатор курсов на рынке онлайн-образования! Сейчас в нашем сервисе представлено более 5000 курсов от более чем 300 школ и все их можно сравнить по рейтингу, цене и отзывам, а еще купить дешевле, чем в напрямую🔥
Специально для вас мы собрали подборку из топовых курсов для C++ разработчиков по мнению наших пользователей:
– Профессия «C++ разработчик» от SkillFactory. Рейтинг 4.8 на основе 259 отзывов.
– Курс «Программист C++» от GeekBrains. Рейтинг 4.5 на основе 342 отзывов.
– Курс «Разработчик C++» от Яндекс Практикум. Рейтинг 4.7 на основе 251 отзывов.
Еще более 10-ти курсов по C++ разработке можно найти и сравнить в tutortop!⚡️
#вопросы_с_собеседований
Что вообще означает модификатор virtual?
В C++ виртуальные функции позволяют поддерживать полиморфизм – одну из ключевых составляющих ООП. С его помощью в классах-потомках можно переопределять функции класса-родителя. Без виртуальной функции мы получаем «раннее связывание», а с ней – «позднюю привязку». То есть, какая реализация метода используется, определяется непосредственно во время выполнения и основывается на типе объекта с указателем на объект, из которого он построен.
На языке C++ можно создавать с нуля самые разные программы: от беспилотных автомобилей и робототехники до веб-браузеров, микроконтроллеров, серверов и видеоигр. Если вы когда-нибудь мечтали менять мир, то проще всего начать делать это в цифровом виде и на этом языке. А ещё С++ даёт крепкую базу знаний. Выучив его, вам будет проще освоить любой смежный инструмент.
Обучиться языку можно на курсе Яндекс Практикума «Разработчик C++».
На курсе вы:
• научитесь писать эффективный код;
• разберётесь в стандартной библиотеке C++;
• начнёте работать с Git, IDE и компиляторами;
• познакомитесь с базовыми алгоритмами и структурами данных;
• создадите действующие сервисы и добавите 3+ проекта в портфолио.
На всех этапах вас будут сопровождать опытные разработчики: мы не дадим просесть по учёбе и поможем выкроить время на образование. Вы будете практиковаться на реальных кейсах и положите в портфолио работающие проекты. А карьерные консультации подготовят вас к разговору о повышении или помогут с поиском новой работы.
Записаться на курс можно здесь: https://practicum.yandex.ru/cpp/
Перегрузка операторов
Ключевое слово operator позволяет изменить работу конкретного оператора с экземплярами класса. Это дает оператору дополнительное значение — "перегружает" его. Компилятор различает разные значения оператора, проверяя типы его операндов.
В примере оператор + перегружается для сложения двух комплексных чисел.
#вопросы_с_собеседований
Что будет выведено и почему?
Ответ:
4294967271, предполагая 32-битные целые числа.
Почему так происходит?
Существует иерархия: long double, double, float, unsigned long int, long int, unsigned int, int. И когда два операнда определены как 25u (unsigned int) и 50 (int), 50 также будет интерпретироваться как беззнаковое целое число, то есть 50u.
Кроме того, результат операции также будет иметь тип операндов. Следовательно, результат 25u - 50u и сам является беззнаковым целым числом. Таким образом, результат -25 преобразуется в 4294967271.
#вопросы_с_собеседований
Что такое класс хранения?
Класс, который определяет срок существования, компоновку и расположение переменных/функций в памяти.
В C ++ поддерживаются такие классы хранения: auto, static, register, extern и mutable.
Обратите внимание, что register устарел для C++11. Для C++17 он был удален и зарезервирован для будущего использования.
Метод difftime()
Метод difftime() используется для вычисления разницы между двумя значениями времени в секундах.
Подробнее можно почитать здесь.
Алгоритм distance
Возвращает расстояние до желаемой позиции от первого итератора. Эта функция очень полезна при поиске нужного нам индекса.
#вопросы_с_собеседований
Сколько раз будут выполняться циклы внутри программы?
Ответ: в первом случае цикл не выполнится никогда, а во втором случае будет выполняться бесконечно.
Объяснение:
В первом цикле условие прекращения цикла имеет тип беззнакового char, значит, у нас присвоение n 256 вызовет переполнение и n станет равным 0. Цикл превратится в for(unsigned char i = 0; i < 0; ++i), а, значит, условие цикла не выполняется, и мы даже не войдём в тело цикла. Во втором цикле другая ситуация, он превращается в for(unsigned char i = 0; i < 256; ++i), и так как i не может быть больше, чем 255, то условие цикла будет выполняться всегда.
Сравнение производительности C и C++ на примере сжатия Хаффмана
https://habr.com/ru/post/347688/
#вопросы_с_собеседований
Что такое ссылка? Как можно инициализировать ссылку одной или другой переменной в зависимости от условия?
Ответ:
Это другое имя для переменной. Ссылку необходимо инициализировать при объявлении и изменять уже нельзя. С помощью тернарного оператора или с помощью лямбда-функции.
каких каналов по тематике программирования вам не хватает в телеграме?
Читать полностью…Сайт на чистом C++, nginx и FastCGI
В этом видео мы создадим сервер, развернем простейший сайт на nginx и начнем работать с FastCGI, чтобы обрабатывать HTTP запросы в своем коде на C++.
Смотреть видео
#вакансия #удалённо #job #remote #parttime #преподаватель
🦉OTUS – образовательная платформа🦉
OTUS специализируется на курсах для IT-специалистов разного уровня от junior до senior🤘
У нас более 130 авторских курсов😎
▫️Вакансии:
Преподаватели на курс C++ Developer. Professional
✅Мы подходим к обучению прагматично: программа ориентируется на требования работодателей и последние тренды разработки.
Копаем глубоко в практику, чтобы дать то, чего не найти в открытом доступе.
Вебинары проходят по будням с 20:00 до 21:30 по мск.
Ставка за 1 вебинар (1.5 часа) – от 4 000 р. до 6000 р.
Преподаватель использует презентацию с теорией и практические примеры, чтобы раскрыть тему урока.
✅Дополнительно оплачивается:
Проверка домашних заданий;
Подготовка материалов занятии: лекции, тесты, практические работы, самостоятельные задания;
Авторские статьи, заметки, участие в конференциях.
🔥Почему именно OTUS?
Освоишь лучшие инструменты и практики преподавания с нашими методистами.
Систематизируешь свои знания и прокачаешь софт скиллы.
У нас классная команда 650+ экспертов с уникальными компетенциями из различных компаний.
Мы учимся друг у друга, советуемся, помогаем, делимся опытом, обсуждаем новости как в преподавании, так и по проектам.
✅Что мы предлагаем:
Можешь совмещать с основной работой, мы предлагаем удаленное сотрудничество, нагрузку определяешь сам.
Ты можешь выбрать на какие темы преподавать. Все наши преподаватели — действующие практики.
Уроки проводятся в онлайн формате в zoom.
Хочешь делиться знаниями? Откликайся скорее!
telegram: @HR_Nikita
Зачем писать на C++ в 2022 году?
https://habr.com/ru/company/otus/blog/701324/
✅ Пройди тест по C++ 👩💻
Ответь на 20 вопросов и проверь, насколько nы готов к обучению на углубленном курсе - "C++ Developer. Professional" от OTUS
🔥 РЕЗУЛЬТАТ ПРОХОЖДЕНИЯ КУРСА
Подтверждение владение нюансами программирования на С++, которые отличают разработчика уровня Middle от Junior.
⏰ Время прохождения теста ограничено 30 минут
🖌 ПРОЙТИ ТЕСТ: https://otus.pw/rbIf/
🎄Новогодняя распродажа! Скидки -23% на все курсы! Предложение ограничено.Реклама. Информация о рекламодателе на сайте otus.ru
Квадратный корень и квадратный квадрат
Найдите такое число x, что x^2 + sqrt(x) = C, с точностью не менее 6 знаков после точки.
Формат входных данных:
В единственной строке содержится вещественное число C (1 ≤ C ≤ 10^10).
Формат выходных данных:
Выведите одно число — искомый x.
Работа с файлами
Например, необходимо создать текстовый файл и записать в него строку "Работа с файлами в С++". Для этого необходимо проделать следующие шаги:
1) создать объект класса ofstream;
2) связать объект класса с файлом, в который будет производиться запись;
3) записать строку в файл;
4) закрыть файл.
Пример UB (Undefined behavior)
Ярким примером UB и ошибочного кода является повторное использование (в том числе повторное изменение) изменяемой переменной при вычислении выражения, когда относительный порядок вычисления термов не определен (то же касается фактических параметров функции в точке вызова).
Алгоритм inner_product
Вычисляет сумму поэлементного умножения двух диапазонов и добавляет ее к указанному начальному значению либо вычисляет результат обобщенной процедуры, где бинарные операции суммы и умножения заменены на другие указанные бинарные операции.
Исключения в C++: безопасность, спецификации, бенчмарки
Данная статья больше подойдёт продвинутым программистам, которые хотят глубже разобраться в теме исключений.
Смотреть статью