Operator bezpośredni: *
* cast-expression
Uwagi
Operator jednoargumentowy pośrednictwa (*) wyłuskuje wskaźnik; oznacza to, że konwertuje wartość wskaźnika do wartości l.Operand operatora pośrednictwa musi być wskaźnikiem do typu.Wynikiem wyrażenia pośrednictwa jest typ, z którego typ wskaźnika jest wnioskowany.Użycie operatora * w tym kontekście różni się od jego znaczenie jako operatora dwuargumentowego, czyli mnożenia.
Jeśli argument operacji wskazuje funkcję, wynikiem jest opis funkcji.Jeśli wskazuje on lokalizację pamięci, wynikiem jest l-wartość opisująca lokalizację pamięci.
Operator pośrednictwa może być używany łącznie do wyłuskiwania wskaźników do wskaźników.Na przykład:
// 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;
}
Jeśli wartość wskaźnika jest nieprawidłowa, wynik jest nieokreślony.Następująca lista zawiera niektóre z najbardziej typowych warunków, które unieważniają wartość wskaźnika.
Wskaźnik jest pustym wskaźnikiem.
Wskaźnik określa adres lokalnego elementu, który nie jest widoczny w czasie odwołania.
Wskaźnik określa adres, który jest nieodpowiednio wyrównany dla typu wskazywanego obiektu.
Wskaźnik określa adres nieużywany przez wykonujący program.
Zobacz też
Informacje
Wyrażenia z operatorami jednoargumentowymi
Operatory, pierwszeństwo i kojarzenie języka C++