Первичными выражениями являются литералы, имена и имена, определенныес помощью операции разрешения области видимости::. первичное-выражение: литерал this:: идентификатор:: имя-функции-операции:: уточненное-имя (выражение) имя Литерал является первичным выражением. Его тип определяетсяего видом ($$R.2.5). В теле нестатической функции-члене ($$R.9.3) служебное словоthis обозначает указатель на объект, к которому относится вызовфункции. Служебное слово this нельзя использовать вне телафункции-члена класса. Операция::, за которой следует идентификатор илиимя-операции-функции или уточненное-имя являются первичнымвыражением. Его тип задается описанием идентификатора, имениили имени-функции-операции. Результатом является идентификатор,имя или имя-функции-операции. Результат является адресом, еслиидентификатор является адресом. Идентификатор или имя-функции-операциидолжны иметь файловую область видимости. С помощью операции::можно обращаться к типу, объекту, функции или элементу перечисления,даже если обозначающий их идентификатор является скрытым ($$R.3.2). Выражение в скобках является первичным выражением, тип и значениекоторого идентичны им же у выражения без скобок. Наличие скобокне влияет на то, является выражение адресом или нет. Понятие имя - это определенное первичное-выражение, котороеможет появляться только после. и -> ($$R.5.2.4): имя: идентификатор имя-функции-операции имя-функции-преобразования ~имя-класса уточненное-имя Идентификатор есть имя, при условии что он описан надлежащим образом($$R.7). Понятие имя-функции-операции описано в ($$R.13.4), апонятие имя-функции-преобразования в ($$R.12.3.2). Конструкция~имя-класса обозначает деструктор ($$R.12.4). уточненное-имя: уточняющее-имя-класса:: имя Понятие уточняющее-имя-класса, за которым следует:: и имя членаэтого класса ($$R.9.2), или члена базового по отношению к данномукласса ($$R.10) является уточненное-имя. Его тип естьтип члена, а результат выражения есть этот член. Результат являетсяадресом, если таковым является член. Имя класса может быть скрытодругим именем (не типа), в таком случае все равно имя классадоступно и его можно использовать. Если используетсяимя-класса::имя-класса или имя-класса::~имя-класса, оба понятияимя-класса должны обозначать один и тот же класс. С помощью такойзаписи обозначаются конструкторы ($$R.12.1) и деструкторы ($$R.12.4)соответственно. Можно использовать уточняющие именанеоднократно, например, N1::N2::N3::n, чтобы обозначать вложенныетипы ($$R.9.7).