|
||||
|
8.1 Спецификаторы Класса Памяти Спецификаторы – это: спецификатор_класса_памяти: auto static extern register Описания, использующие спецификаторы auto, static и register также служат определениями тем, что они вызывают рзервирование соответствующего объема памяти. Если описание extern не является определением (#4.2), то где-то еще должно быть определение для данных идентификаторов. Описание register лучше всего представить как описание auto (автоматический) с подсказкой компилятору, что описанные переменные усиленно используются. Подсказка может быть проинорирована. К ним не может применяться операция получения ареса amp;. Спецификаторы auto или register могут применяться только к именам, описанным в блоке, или к формальным параметрам. Внутри блока не может быть описаний ни статических функций, ни статических формальных параметров. В описании может быть задан максимум один sc_спецификтор. Если в описании отсутсвует спецификатор_класса_памяти, то класс памяти принимается автоматическим внутри функции и статическим вне. Исключение: функции не могут быть автоматческими. Спецификаторы static и extern могут использоваться толко для имен объектов и функций. Некоторые спецификаторы могут использоваться только в описаниях функций: спецификатор_функции: overload inline virtual Спецификатор перегрузки overload делает возможным ипользование одного имени для обозначения нескольких функций, см. #8.9. Спецификатор inline является только подсказкой компилтору, не влияет на смысл программы и может быть проигнорирван. Он используется, чтобы указать на то, что при вызове функции inline-подстановка тела функции предпочтительнее обычной реализацци вызова функции. Функция (#8.5.2 и #8.5.10), определенная внутри описания класса, является inline по умолчанию. Спецификатор virtual может использоваться только в опсаниях членов класса, см. #8.5.4. Спецификатор friend используется для отмены правил сорытия имени для членов класса и может использоваться только внутри описаний классов, см. #8.5.9. С помощью спецификатора typedef вводится имя для типа, см. #8.8. |
|
||