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

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

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. Нарушение авторских прав; Мы поможем в написании вашей работы!




Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


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

Дренирование желчных протоков Показаниями к дренированию желчных протоков являются декомпрессия на фоне внутрипротоковой гипертензии, интраоперационная холангиография, контроль за динамикой восстановления пассажа желчи в 12-перстную кишку...

Деятельность сестер милосердия общин Красного Креста ярко проявилась в период Тритоны – интервалы, в которых содержится три тона. К тритонам относятся увеличенная кварта (ув.4) и уменьшенная квинта (ум.5). Их можно построить на ступенях натурального и гармонического мажора и минора.  ...

Понятие о синдроме нарушения бронхиальной проходимости и его клинические проявления Синдром нарушения бронхиальной проходимости (бронхообструктивный синдром) – это патологическое состояние...

Эндоскопическая диагностика язвенной болезни желудка, гастрита, опухоли Хронический гастрит - понятие клинико-анатомическое, характеризующееся определенными патоморфологическими изменениями слизистой оболочки желудка - неспецифическим воспалительным процессом...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

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