Pull to refresh

Comments 10

В С++ таких моментов куча, в шаблонах, например. До тех пор, пока такой класс не затребован он игнорируется, насколько я помню, Страуструп об этой особенности упоминает где может.
Шаблоны вообще не трогаются, пока они не нужны. Равно как и функции-члены шаблонных классов
Срочно отведите Fred'а к психиатру. С таким не шутят ))
А ещё e классов в С++ бывают воображаемые конструкторы:
class A
{
public:
    A(int){}
private:
    A();
};

int main()
{
    A a(42);
}
A(int) — это конструктор типа, а A() — «типа» конструктор :)
С конструкторами как раз всё понятно. Любую функцию можно объявить и не реализовывать, при этом ошибки не возникнет, пока функцию не попытаются вызвать. Более того, когда не реализованную функцию попытаются вызвать, ошибка произойдёт лишь на этапе линковки, а компиляция пройдёт успешно. Так было в C и так же дело обстоит в C++.
Точно так же можно объявить и не определить класс.
Добро пожаловать на 1-й курс института! )
Между прочим, на ВМК МГУ C++ мы проходили в конце второго курса. И о подобных нюансах нам не рассказывали.
зачем травмировать неокрепшую спихику «фишками» c++
Sign up to leave a comment.

Articles