Sdílet prostřednictvím


Operátor nepřímé odkazování: *

* cast-expression

Poznámky

Unární operátor nepřímé odkazování (*) dereferences ukazatele; Převede hodnotu ukazatele na l hodnota.Operand operátoru nepřímé odkazování musí být ukazatel typu.Výsledek výrazu nepřímé odkazování je typ, ze kterého je odvozen typ ukazatele.Použití * operátor v tomto kontextu se liší od jeho význam jako binární operátor, který je násobení.

Jestliže operand odkazuje na funkci, je výsledek funkce odpoledne.Odkazuje na umístění úložiště, výsledkem je l hodnota označující umístění úložiště.

Nepřímé odkazování operátor lze kumulativně zrušit reference struktury ukazatelů a ukazatelů.Příklad:

// 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;
}

Hodnota ukazatele je neplatný, výsledkem nedefinovaná.Následující seznam obsahuje některé nejběžnější podmínky, které neruší hodnota ukazatele.

  • Ukazatel je nulový ukazatel.

  • Ukazatel Určuje adresu místní položky, který není viditelný v době odkaz.

  • Ukazatel se určuje nevhodně zarovnaný pro typ objektu na adresu.

  • Ukazatel Určuje adresu nejsou používány k provádění programu.

Viz také

Referenční dokumentace

Výrazy s unární operátory

Operátory C++

Přednost a asociativita operátorů

Operátor z adresy: &

Koncepty

Nepřímé odkazování a operátory z adresy