Оператор косвенного обращения: *
Синтаксис
* cast-expression
Замечания
Унарный оператор косвенного обращения (*
) расшифровывает указатель; то есть преобразует значение указателя в l-значение. Операнд косвенного оператора должен быть указателем на тип. Результат косвенного выражения — тип, производным которого является тип указателя. Использование *
оператора в этом контексте отличается от его значения как двоичного оператора, который является умножением.
Если операнд указывает на функцию, результатом является указатель функции. Если он указывает на место хранения, результатом является l-значение, указывающее на место хранения.
Косвенный оператор может использоваться кумулятивно для разыменования указателей на указатели. Например:
// expre_Indirection_Operator.cpp
// compile with: /EHsc
// Demonstrate indirection operator
#include <iostream>
using namespace std;
int main() {
int n = 5;
int *pn = &n;
int **ppn = &pn;
cout << "Value of n:\n"
<< "direct value: " << n << endl
<< "indirect value: " << *pn << endl
<< "doubly indirect value: " << **ppn << endl
<< "address of n: " << pn << endl
<< "address of n via indirection: " << *ppn << endl;
}
Если значение указателя недопустимо, результат становится неопределенным. Ниже приведены наиболее распространенные условия, при которых значение указателя становится недопустимым.
Указатель является пустым указателем.
Указатель определяет адрес локального элемента, не видимого во время обращения.
Указатель определяет адрес, выравнивание которого не подходит для типа указываемого объекта.
Указатель определяет адрес, который не используется выполняемой программой.
См. также
Выражения с унарными операторами
Операторы C++, приоритет и ассоциативность
Оператор address-of: &
Операторы косвенного обращения и адреса операнда
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по