Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

R.3.3 Программа и связывание





Программа состоит из одного или нескольких файлов, связываемых вместе($$R.2). Файл состоит из последовательности описаний. Имя с файловой областью видимости, которое явно описано какstatic, является локальным в своей единице трансляции и можетиспользоваться для именования объектов, функций и т.п. в другихединицах трансляции. Говорят, что такие имена имеют внутреннеесвязывание. Имя с файловой областью видимости, которое явно описаносо спецификацией inline, является локальным в своей единицетрансляции. Имя с файловой областью видимости, которое явно описаносо спецификацией const и не описано явно как extern, считаетсялокальным в своей единице трансляции. То же верно для имени класса,которое не использовалось в нелокальных для данной единицытрансляции описаниях объекта, функции или класса, и который неимеет статических членов ($$R.9.4), не имеет функций-членов, кромеподстановок ($$R.9.3.2). Всякое описание некоторого имени сфайловой областью видимости, которое не описано одним из перечисленныхспособов так, чтобы иметь внутреннее связывание, в многофайловойпрограмме обозначает один и тот же объект ($$R.3.7), функцию($$R.8.2.5) или класс ($$R.9). Такие имена называются внешними илиговорят, что они имеют внешнее связывание. В частности, посколькунельзя описать имя класса как static, всякое употребление именинекоторого класса с файловой областью видимости, который (класс)использовался для описания объекта или функции с внешним связыванием,или же который имеет статический член или функцию-член,не являющуюся подстановкой, будет обозначать один и тот же класс. Имена определяемых типов (typedef $$R.7.13), элементы перечисления($$R.7.2) или имена шаблонов типа ($$R.14) не имеют внешнегосвязывания. Статические члены класса ($$R.9.4) допускают внешнее связывание. Функции-члены, не являющиеся подстановкой, допускают внешнеесвязывание. Функции-члены, являющиеся подстановкой, должны иметьв точности одно определение в программе. Локальные имена ($$R.3.2), явно описанные со спецификациейextern, имеют внешнее связывание, если только они уже не былиописаны как static ($$R.7.1.1). Типы, используемые во всех описаниях некоторого внешнего имени,должны совпадать, за исключением использования имен определяемыхтипов ($$R.7.1.3) и указания границ массивов ($$R.8.2.4).Должно быть в точности одно определение для каждой функции, объекта,класса и элемента перечисления, используемых в программе. Однако,если функция никогда не вызывается и ее адрес никогда не используется,ее не нужно определять. Аналогично, если имя класса используетсятолько таким образом, что не требуется знать определение класса,то класс не нужно определять. Область видимости функции может быть только файл или класс. С помощью спецификации связывания можно добиться связывания сописаниями на другом языке ($$R.7.4).







Дата добавления: 2015-09-04; просмотров: 344. Нарушение авторских прав; Мы поможем в написании вашей работы!




Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...


Логические цифровые микросхемы Более сложные элементы цифровой схемотехники (триггеры, мультиплексоры, декодеры и т.д.) не имеют...

Медицинская документация родильного дома Учетные формы родильного дома № 111/у Индивидуальная карта беременной и родильницы № 113/у Обменная карта родильного дома...

Основные разделы работы участкового врача-педиатра Ведущей фигурой в организации внебольничной помощи детям является участковый врач-педиатр детской городской поликлиники...

Ученые, внесшие большой вклад в развитие науки биологии Краткая история развития биологии. Чарльз Дарвин (1809 -1882)- основной труд « О происхождении видов путем естественного отбора или Сохранение благоприятствующих пород в борьбе за жизнь»...

Внешняя политика России 1894- 1917 гг. Внешнюю политику Николая II и первый период его царствования определяли, по меньшей мере три важных фактора...

Оценка качества Анализ документации. Имеющийся рецепт, паспорт письменного контроля и номер лекарственной формы соответствуют друг другу. Ингредиенты совместимы, расчеты сделаны верно, паспорт письменного контроля выписан верно. Правильность упаковки и оформления....

БИОХИМИЯ ТКАНЕЙ ЗУБА В составе зуба выделяют минерализованные и неминерализованные ткани...

Studopedia.info - Студопедия - 2014-2024 год . (0.009 сек.) русская версия | украинская версия