Здравствуйте, catBasilio, Вы писали:
N>>> А потом все скатывается в i++++i и зачем нужен виртуальный деструктор (кстати на этом вопросе закончилось мое самое короткое 3х-минутное собеседование в CDD). _>>Не ответил? B>А какой правильный ответ кстати?
Смеётесь?
Undefined behavior при удалении объекта через указатель на базовый класс, не имеющий виртуального деструктора.
Здравствуйте, Aviator, Вы писали:
A>Проблема в том что покупаешь кота в мешке. Как например проверить, что кандидат не зная веба сможет за два месяца войти в струю и начать приносить пользу?
Смотришь код кандидата. Если у кандидата стоит упор на то, чтоб все сложности заинкапсулировать в одном месте, и затем повторно использовать, можно со значительной долей вероятности полагать, что и в любой предметной области (веб это тоже предметная область) будет аналогично. А вот если у него навороты технологий размазаны по проекту, скорее всего ничего хорошего из человека не выйдет, даже если он технологией в совершенстве владеет. Вот, например, любимую всеми многопоточность возбмем, в качестве ЯП возьмем Java. Вменяемый разработчик не будет везде в бизнес логике всякие локи ставить и все такое. Там, где локи нужны, напишет аспектами, и потребуются в коде только аннотации, все же мегазнание технологии будет заинкапсулировано в либах. И в случае ошибки, поправить надо будет либы, а не прыгать по всему коду. Ошибаются все. И если ошибется тот, кто стремится сложные вещи скрыть, то цена его ошибки будет на порядок меньше, чем у того, кто в совершенстве знает все тонкости, но размазывает эти тонкости по всему коду, и если и ошибется, то считай весь проект переписывать придется. Но на собеседованиях код смотреть не принято, и вообще не принято проверять способность кандидата писать код, отсюда и все проблемы с проверкой.
Здравствуйте, artem_korneev, Вы писали:
_>Здравствуйте, catBasilio, Вы писали:
N>>>> А потом все скатывается в i++++i и зачем нужен виртуальный деструктор (кстати на этом вопросе закончилось мое самое короткое 3х-минутное собеседование в CDD). _>>>Не ответил? B>>А какой правильный ответ кстати?
_>Смеётесь? _>Undefined behavior при удалении объекта через указатель на базовый класс, не имеющий виртуального деструктора.
я про i++++i; а то ни разу на приходилось пользоваться на практике, поэтому реально не знаю что будет.
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
Здравствуйте, catBasilio, Вы писали:
B>>>А какой правильный ответ кстати? _>>Смеётесь? _>>Undefined behavior при удалении объекта через указатель на базовый класс, не имеющий виртуального деструктора. B>я про i++++i;
В таком виде оно не соберётся. Я так понимаю, имелась в виду задача вида:
i = i++ + ++i;
B>а то ни разу на приходилось пользоваться на практике, поэтому реально не знаю что будет.
Это тоже Undefined behavior, потому как идёт двойное изменение переменной в одной точке следования.
Посмотрел на ваш профиль. Насколько я помню, задачка из этой серии есть в тестах для соискателей на С++ в компании, в которой вы работаете.