Boroda aka Hamster (fantaseour) wrote,
Boroda aka Hamster
fantaseour

Category:

Смешное с RSDN

Собеседование: соискатель наносит ответный удар

Интервьюер (И): Я вижу, что многого Вы не знаете и Вам еще много чему нужно учиться. Некоторые вещи, которые должен знать каждый, явно прошли мимо Вас.
Я (Я): Во-первых, я всю жизнь учусь, во-вторых, все знать невозможно, ну а в-третьих, у каждого свое понимание, что должен знать каждый, а что нет. Уверен, что и Вы не каждый вопрос ответите сходу.
(И) смотрит на меня с интересом.
(Я): Вот например, простенький пример из жизни: почему в C++ нельзя перегружать функцию по const string& и bool?
(И): Почему нельзя? Можно!
(Я): Хорошо, язык это позволяет, но делать так не стоит. Почему?
(И)(задумчиво): Неоднозначности тут не возникнет... Вы не правы!
(Я): Хорошо, подумайте над этим. Вопрос на самом деле нуууу очень простой!
Вежливо прощаемся.

Через день звонит мне на трубку.
(И): Здравствуйте, С.А., это Вас беспокоят из фирмы XXX. Мы тут подумали...
Па-па-па-пам! Неужели берут?
(И): Нам кажется, Вы все-таки заблуждаетесь, и никаких препятствий для такой перегрузки нет! Объясните, почему Вы так считаете, что этого делать нельзя?
(Я) (еле сдерживаясь, чтобы не начать кататься от смеха по полу): А Вы меня берете, или нет?
(И): Нет, Вы нам не подходите!
(Я): Тогда подумайте над этим вопросом сами.
Кладу трубку.


перегрузите оба и посмотрите, какой вызовется на const char *
void bar(const std::string &s) { printf("const std::string &\n"); }
void bar(bool b) { printf("bool"); }
...
bar("");


фишка в том, что "" имеет тип char* (const-ы я опустил), т.е. указатель. Указатель это фактически число, которое легко преобразуется в int, а bool — это фактически и есть int, причём это встроенный тип.
А string — это как бы пользовательский класс, причём шаблон. Понятно, что компилятор предпочтёт преобразовать константу во встроенный тип, чем не понятно во что.
Tags: cpp, humor, tech
Subscribe

  • Так. Чуть не бросил дневник :)

    Ну вот, хотел не бросать и опять сюда не пишу :( Потому, что в будние дни сил нет писать, а в выходные вот то у меня ДР, то у пасынка. То просто…

  • 46

    Дня рожденья пост. Ну ничего, мы еще позажигаем :)

  • Завтра в офис

    Завтра выхожу на работу в офис. Будет, как первый день, поскольку у меня места рабочего нет пока -- ноутбук есть, а места нет. Выходящие либо сдают…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 6 comments