Операторы доступа к членам: .
и ->
Синтаксис
postfix-expression
:
postfix-expression
.
template
необ.id-expression
postfix-expression
->
template
необ.id-expression
Замечания
Операторы .
доступа к членам и ->
используются для ссылки на элементы struct
и union
class
типы. Выражения доступа к членам имеют значение и тип выбранного члена.
Предусмотрено две формы выражения доступа к члену:
В первой форме
postfix-expression
представляет значениеstruct
илиunion
class
тип, а такжеid-expression
имя члена указанногоstruct
элементаunion
илиclass
. Значение операции — этоid-expression
значение l-value, еслиpostfix-expression
это l-значение.Во второй форме
postfix-expression
представляет указатель наstruct
объект ,union
илиclass
имяid-expression
члена указанногоstruct
элемента ,union
илиclass
. Значением являетсяid-expression
значение l-value. Оператор->
разыменовывает указатель. Выражения и (гдеe
представляет указатель) дают идентичные результаты (за исключением случаев, когда операторы->
e->member
или*
перегружены).(*(e)).member
Пример
В следующем примере показаны обе формы оператора доступа к членам.
// expre_Selection_Operator.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
struct Date {
Date(int i, int j, int k) : day(i), month(j), year(k){}
int month;
int day;
int year;
};
int main() {
Date mydate(1,1,1900);
mydate.month = 2;
cout << mydate.month << "/" << mydate.day
<< "/" << mydate.year << endl;
Date *mydate2 = new Date(1,1,2000);
mydate2->month = 2;
cout << mydate2->month << "/" << mydate2->day
<< "/" << mydate2->year << endl;
delete mydate2;
}
2/1/1900
2/1/2000
См. также
Выражения postfix
Встроенные операторы C++, приоритет и ассоциативность
Классы и структуры
Структура и члены объединения
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по