Re: издевательства над switch-ем на собеседовани
От: RomanOdaisky Украина  
Дата: 04.12.05 20:24
Оценка:
Здравствуйте, kittown, Вы писали:

K>Hi,


K>Вчера сам собой придумался пример кода для запугивания

K>претендентов на собеседовании:

K>#include <iostream>

K>int main()
K>{
K> switch(0) default: std::cout << "Hello World!" << std::endl;
K>};

K>Вопрос претендентам — скомпилируется ли ? Если не скомпилируется,

K>то где ошибка (помимо ошибки в ДНК автора) ? Если скомпилируется,
K>то почему и что будет делать ? Компилятор юзать нельзя.

K>Уже жду следующей команды студентов, желающих пособеседоваться.


void copy(T* po, T const* pi, std::size_t len)
{
    std::size_t len8 = len / 8;

    switch(len % 8)
        do
        {
            *po++ = *pi++;
case 7:     *po++ = *pi++;
case 6:     *po++ = *pi++;
case 5:     *po++ = *pi++;
case 4:     *po++ = *pi++;
case 3:     *po++ = *pi++;
case 2:     *po++ = *pi++;
case 1:     *po++ = *pi++;
case 0:
        } while(len8--);
}


С уважением, Роман.
До последнего не верил в пирамиду Лебедева.