Re[11]: Move Constructors
От: Sergey Россия  
Дата: 30.05.07 19:48
Оценка:
Здравствуйте, FDSC, Вы писали:

SC>>Move Constructors


FDS>Спасибо.


FDS>Насколько я понял, это вещь служит для повышения производительности. Т.е. очень странно, если человек удивляется, что кто-то не знает о ней и о полях-ссылках, всё-таки далеко не в каждой конторе занимаются хоть какой-то оптимизацией программ


А про Move Constructors я не спрашиваю Просто если человек не слышал о списках инициализации или тем более о ссылках, то с скорее всего язык он почти не знает и учить его придется очень многому. Если бы цель была, как тут предположили, просто избавиться от соискателя вакансии, я бы задавал совсем другие вопросы. Например такой:

Может ли (согласно стандарту, про реальные компиляторы пока не будем) скомпилироваться такой код:

void Foo::bar(int a = 4, int b)
{
}


И когда соискатель заявит, что не может (это вам в форуме понятно, что раз вопрос задан в качестве коварного, то ясен пень что оно скомпилироваться обязано, а на собеседовании все выглядит совсем по-другому), следом еще один вопрос — что надо написать в декларации класса, чтобы оно скомпилировалось. Вот это я понимаю, и коварно, и бессмысленно — потому что никто в здравом уме такого не напишет. Хуже вопрос только про ++i++ и скобки

А вообще мне у Яндекса очень вопрос нравится, про проблемы в этом кусочке кода:
class Foo
{
public:
    Foo(int j) { i=new int[j]; }
    ~Foo() { delete i; }
private:
    int* i;
};

class Bar: Foo
{
public:
    Bar(int j) { i=new char[j]; }
    ~Bar() { delete i; }
private:
    char* i;
};


void main()
{
    Foo* f=new Foo(100);
    Foo* b=new Bar(200);
    *f=*b;
    delete f;
    delete b;
}


Сразу видно, человек только книжки читал или еще и попрограммировать успел.
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.