#вопросы_с_собеседований
Что вообще означает модификатор virtual?
В C++ виртуальные функции позволяют поддерживать полиморфизм – одну из ключевых составляющих ООП. С его помощью в классах-потомках можно переопределять функции класса-родителя. Без виртуальной функции мы получаем «раннее связывание», а с ней – «позднюю привязку». То есть, какая реализация метода используется, определяется непосредственно во время выполнения и основывается на типе объекта с указателем на объект, из которого он построен.
Что вообще означает модификатор virtual?
В C++ виртуальные функции позволяют поддерживать полиморфизм – одну из ключевых составляющих ООП. С его помощью в классах-потомках можно переопределять функции класса-родителя. Без виртуальной функции мы получаем «раннее связывание», а с ней – «позднюю привязку». То есть, какая реализация метода используется, определяется непосредственно во время выполнения и основывается на типе объекта с указателем на объект, из которого он построен.
Сайт на чистом C++, nginx и FastCGI
В этом видео мы создадим сервер, развернем простейший сайт на nginx и начнем работать с FastCGI, чтобы обрабатывать HTTP запросы в своем коде на C++.
Смотреть видео
В этом видео мы создадим сервер, развернем простейший сайт на nginx и начнем работать с FastCGI, чтобы обрабатывать HTTP запросы в своем коде на C++.
Смотреть видео
YouTube
#1 Сайт на чистом C++, nginx и FastCGI. New Project
Появилась идея разработать минималистичную систему управления блогом на чистом C++. Сегодня мы создадим сервер, развернем простейший сайт на nginx и начнем работать с FastCGI, чтобы обрабатывать HTTP запросы в своем коде на C++.
Репозиторий проекта: http…
Репозиторий проекта: http…
Как проходит собеседование начинающего разработчика на С++: что нужно знать и как подготовиться
В этом посте я собрал подборку понятий и терминов, которые у вас могут спросить на собеседовании на вакансию Junior С++ разработчика, и описал, к чему в принципе вам стоит готовиться.
Смотреть статью
В этом посте я собрал подборку понятий и терминов, которые у вас могут спросить на собеседовании на вакансию Junior С++ разработчика, и описал, к чему в принципе вам стоит готовиться.
Смотреть статью
Хабр
Как проходит собеседование начинающего разработчика на С++: что нужно знать и как подготовиться
В разных компаниях собеседования проводятся по-разному в зависимости от стандартов, продуктов, позиций. Но есть базовые вещи, повторив которые, вы сможете подготовиться к любому собеседованию. В этом...
каких каналов по тематике программирования вам не хватает в телеграме?
#вопросы_с_собеседований
Что такое ссылка? Как можно инициализировать ссылку одной или другой переменной в зависимости от условия?
Ответ:
Это другое имя для переменной. Ссылку необходимо инициализировать при объявлении и изменять уже нельзя. С помощью тернарного оператора или с помощью лямбда-функции.
Что такое ссылка? Как можно инициализировать ссылку одной или другой переменной в зависимости от условия?
Ответ:
#вопросы_с_собеседований
Что быстрее: постфиксные инкрементные операторы или префиксные? Чем отличается их сигнатура?
Префиксные операторы быстрее. В постфиксных операторах производится дополнительная операция сохранения предыдущего состояния объекта, а затем только увеличение на 1, а в префиксном операторе после инкрементирования объекта, сразу возвращается ссылка объект.
Сигнатура их отличается фиктивным параметром int у постфиксного оператора.
Что быстрее: постфиксные инкрементные операторы или префиксные? Чем отличается их сигнатура?
Префиксные операторы быстрее. В постфиксных операторах производится дополнительная операция сохранения предыдущего состояния объекта, а затем только увеличение на 1, а в префиксном операторе после инкрементирования объекта, сразу возвращается ссылка объект.
Сигнатура их отличается фиктивным параметром int у постфиксного оператора.
#вопросы_с_собеседований
Сколько раз будут выполняться циклы внутри программы?
Ответ: в первом случае цикл не выполнится никогда, а во втором случае будет выполняться бесконечно.
Объяснение:
В первом цикле условие прекращения цикла имеет тип беззнакового char, значит, у нас присвоение n 256 вызовет переполнение и n станет равным 0. Цикл превратится в for(unsigned char i = 0; i < 0; ++i), а, значит, условие цикла не выполняется, и мы даже не войдём в тело цикла. Во втором цикле другая ситуация, он превращается в for(unsigned char i = 0; i < 256; ++i), и так как i не может быть больше, чем 255, то условие цикла будет выполняться всегда.
Сколько раз будут выполняться циклы внутри программы?
Объяснение:
В первом цикле условие прекращения цикла имеет тип беззнакового char, значит, у нас присвоение n 256 вызовет переполнение и n станет равным 0. Цикл превратится в for(unsigned char i = 0; i < 0; ++i), а, значит, условие цикла не выполняется, и мы даже не войдём в тело цикла. Во втором цикле другая ситуация, он превращается в for(unsigned char i = 0; i < 256; ++i), и так как i не может быть больше, чем 255, то условие цикла будет выполняться всегда.
Определение новых исключений
Вы можете определить свои собственные исключения, наследуя и переопределяя функциональные возможности класса исключений. Ниже приведен пример, который показывает, как вы можете использовать класс std :: exception для реализации своего собственного исключения стандартным способом
Это приведет к следующему результату -
Вы можете определить свои собственные исключения, наследуя и переопределяя функциональные возможности класса исключений. Ниже приведен пример, который показывает, как вы можете использовать класс std :: exception для реализации своего собственного исключения стандартным способом
Это приведет к следующему результату -
MyException caught
C++ Exception
Здесь what() - это открытый метод, предоставляемый классом исключений, и он был переопределен всеми дочерними классами исключений. Это возвращает причину исключения.