Здравствуйте, 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 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.