3 Terms and definitions [intro.defs]

Для целей этого документа применяются термины и определения, данные в ISO / IEC 2382-1: 1993, термины, определения и символы, данные в ISO 80000-2: 2009, а также следующие.

ИСО и МЭК поддерживают терминологические базы данных для использования в стандартизации по следующим адресам:

[definitions] определяет дополнительные термины, которые используются только в пунктах [library] до [thread] и в Приложении [depr].

Термины, которые используются только в небольшой части этого документа, определены там, где они используются, и выделены курсивом там, где они определены.

3.1 access [defns.access]

& langle; действие во время выполнения & rangle; читать или изменять значение объекта

3.2 argument [defns.argument]

& langle; выражение вызова функции & rangle; выражение в списке, разделенном запятыми, ограниченном круглыми скобками ([expr.call])

3.3 argument [defns.argument.macro]

& langle; макрос, похожий на функцию & rangle; последовательность токенов предварительной обработки в списке, разделенном запятыми, ограниченном круглыми скобками ([cpp.replace])

3.4 argument [defns.argument.throw]

& langle; бросить выражение & rangle; операнд throw

3.5 argument [defns.argument.templ]

& langle; создание шаблона & rangle; constant-expression, type-idИли id-expressionв разделенных запятыми список ограничен угловые скобки ([temp.arg])

3.6 block [defns.block]

поток выполнения, который блокирует, ожидает выполнения какого-либо условия (кроме того, чтобы реализация выполняла шаги выполнения), чтобы быть удовлетворенным, прежде чем он сможет продолжить выполнение после операции блокировки

3.7 conditionally-supported [defns.cond.supp]

конструкция программы, поддержка которой не требуется.
[ Note: Каждая реализация документирует все условно поддерживаемые конструкции, которые она не поддерживает. ]end note

3.8 diagnostic message [defns.diagnostic]

сообщение, принадлежащее определенному реализацией подмножеству выходных сообщений реализации

3.9 dynamic type [defns.dynamic.type]

& langle; glvalue & rangle; тип, most derived object на который ссылается glvalue
[ Example: Если pointer p статический тип, чей статический тип - «указатель на класс B», указывает на объект класса D, derived from B, динамический тип выражения *p - «D». References обрабатываются аналогично. ]end example

3.10 dynamic type [defns.dynamic.type.prvalue]

& langle; prvalue & rangle; статический тип выражения prvalue

3.11 ill-formed program [defns.ill.formed]

программа, которая не well-formed

3.12 implementation-defined behavior [defns.impl.defined]

поведение для правильно сформированной конструкции программы и правильных данных, которое зависит от реализации и что каждая реализация документирует

3.13 implementation limits [defns.impl.limits]

ограничения, налагаемые на программы реализацией

3.14 locale-specific behavior [defns.locale.specific]

поведение, зависящее от местных традиций национальности, культуры и языка, которые документируются в каждой реализации.

3.15 multibyte character [defns.multibyte]

последовательность из одного или нескольких байтов, представляющих член расширенного набора символов либо исходной, либо среды выполнения
[ Note: Расширенный набор символов является надмножеством базового набора символов ([lex.charset]). ]end note

3.16 parameter [defns.parameter]

& langle; функция или предложение catch & rangle; объект или ссылка, объявленные как часть объявления или определения функции или в предложении catch обработчика исключения, который получает значение при входе в функцию или обработчик

3.17 parameter [defns.parameter.macro]

& langle; макрос, похожий на функцию & rangle; идентификатор из списка, разделенного запятыми, заключенный в круглые скобки сразу после имени макроса

3.18 parameter [defns.parameter.templ]

& langle; template & rangle; членtemplate-parameter-list

3.19 signature [defns.signature]

& langle; функция & rangle; имя parameter-type-list,, и включающее пространство имен (если есть)
[ Note: Подписи используются в качестве основы для изменения имен и связывания. ]end note

3.20 signature [defns.signature.templ]

& langle; шаблон функции & rangle; имя, parameter-type-list, вмещающих пространство имен (если таковые имеются), тип возвращаемого значения и список параметров шаблона

3.21 signature [defns.signature.spec]

& langle; специализация шаблона функции & rangle; подпись шаблона, специализацией которого он является, и его аргументы шаблона (явно заданные или выведенные)

3.22 signature [defns.signature.member]

& langle; функция-член класса & rangle; имя, parameter-type-list, класс которых функция является членом, cv-qualifiers (если таковые имеются), а также ref-qualifier(если таковые имеются)

3.23 signature [defns.signature.member.templ]

& langle; шаблон функции-члена класса & rangle; имя, parameter-type-list, класс которых функция является членом, cv-qualifiers (если таковые имеются), ref-qualifier(если таковые имеются), тип возвращаемого значения (если таковые имеются), и список параметров шаблона

3.24 signature [defns.signature.member.spec]

& langle; специализация шаблона функции-члена класса & rangle; подпись шаблона функции-члена, специализацией которого она является, и ее аргументы шаблона (явно заданные или выведенные)

3.25 static type [defns.static.type]

тип выражения ([basic.types]), полученный в результате анализа программы без учета семантики выполнения
[ Note: Статический тип выражения зависит только от формы программы, в которой появляется выражение, и не изменяется во время выполнения программы. ] end note

3.26 unblock [defns.unblock]

удовлетворяют условию, что один или несколько заблокированных потоков выполнения ждут

3.27 undefined behavior [defns.undefined]

поведение, для которого данный международный стандарт не налагает требований
[ Note: Неопределенное поведение может ожидаться, если в этом международном стандарте отсутствует какое-либо явное определение поведения или когда программа использует ошибочную конструкцию или ошибочные данные. Допустимое неопределенное поведение варьируется от полного игнорирования ситуации с непредсказуемыми результатами до поведения во время трансляции или выполнения программы задокументированным образом, характерным для среды (с выдачей диагностического сообщения или без него), до прекращения трансляции или выполнения (с выдачей диагностического сообщения). Многие ошибочные программные конструкции не приводят к неопределенному поведению; они должны быть диагностированы. Оценка constant expression никогда не проявляет поведения, явно указанного как неопределенное. ]end note

3.28 unspecified behavior [defns.unspecified]

поведение для правильно сформированной программной конструкции и правильных данных, которое зависит от реализации
[ Note: Реализация не требуется для документирования того, какое поведение происходит. Диапазон возможных вариантов поведения обычно определяется настоящим международным стандартом. ]end note

3.29 well-formed program [defns.well.formed]

Программа на C ++, построенная в соответствии с правилами синтаксиса, диагностируемыми семантическими правилами и расширением one-definition rule.