Udostępnij za pośrednictwem


Operator pośrednia: *

* cast-expression

Uwagi

Operator jednoargumentowy pośrednia (*) rozstrzyga wskaźnik; oznacza to konwertuje wartość wskaźnika do wartości l.Operand operator pośrednia musi być wskaźnik do określonego typu.Wynik wyrażenia pośrednia jest typu, z której pochodzi ten typ wskaźnika.Użycie * operatora, w tym kontekście różni się od jego znaczenie jako operatora binarnego, który jest mnożenie.

Jeśli argument wskazuje funkcję, wynik jest w opisie funkcji.Wskazuje lokalizację magazynu, wynik jest wartoocią l wyznaczające lokalizacji magazynu.

Operator pośrednia może stosowane łącznie do nieprawidłowego wskaźniki 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żeli wartość wskaźnika jest nieprawidłowy, wynik jest niezdefiniowane.Poniższa lista zawiera niektóre z najbardziej typowe warunki, które unieważnia wartość wskaźnika.

  • Wskaźnik jest wskaźnik zerowy.

  • Wskaźnik Określa adres lokalnego elementu, który nie jest widoczny w czasie odniesienia.

  • Wskaźnik Określa adres, który jest nieodpowiednio wyrównany dla typu obiektu, wskazywanego.

  • Wskaźnik Określa adres, który nie jest używany przez program wykonujący nakaz.

Zobacz też

Informacje

Wyrażenia z operatory jednoargumentowe

Operatory języka C++

Priorytet i łączność operatorów

Adres z operatora: &

Koncepcje

Pośrednia i adres z operatorów