R Справочное руководство по С++

R.3.1 Описания и определения.

   


Назад  |  Вперёд

Описание ($$r.7) делает известным в программе одно или несколько имен. Описание считается определением, если только оно не описывает функцию без задания ее тела ($$R.8.3), не содержит описателя extern ($$R.7.11), не имеет части инициализации или тела функции, не является описанием статического члена данных в описании класса ($$R.9.4), не является описанием имени класса ($$R.9.1), не является описанием typedef ($$R.7.1.3). Ниже приведены примеры определений:

           int a;
           extern const c = 1;
           int f(int x) { return x+a; }
           struct S { int a; int b; };
           enum { up, down };

тогда как ниже следуют только описания:

           extern int a;
           extern const c;
           int f(int);
           struct S;
           typedef int Int;

Для каждого объекта, функции, класса и элемента перечисления, используемых в программе, должно быть только одно определение ($$R.3.3). Если функция никогда не вызывается и ее адрес никогда не используется, ее не нужно определять. Аналогично, если имя класса используется только так, что не требуется знать определения класса, то такой класс не надо определять.


Назад  |  Вперёд


OtDiatlovaOU
К началу книги

Оформление и дизайн книги OtDiatlovaOU.
Вся книга, архив.