Operátor indirection: *
Syntaxe
* cast-expression
Poznámky
Unární nepřímý operátor (*
) dereference ukazatele; to znamená, že převede hodnotu ukazatele na l-hodnotu. Operand operátoru indirection musí být ukazatel na typ. Výsledkem výrazu nepřímých výrazů je typ, ze kterého je odvozen typ ukazatele. Použití operátoru *
v tomto kontextu se liší od jeho významu jako binární operátor, což je násobení.
Ukazuje-li operand na funkci, je výsledkem označení funkce. Ukazuje-li na umístění úložiště, je výsledkem l-hodnota označující umístění úložiště.
Operátor nepřímého rozdělení lze použít kumulativní pro odvozování ukazatelů na ukazatele. 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;
}
Pokud je hodnota ukazatele neplatná, výsledek není definován. Následující seznam zahrnuje některé z nejběžnějších situací, které zneplatňují hodnotu ukazatele.
Ukazatel je nulový.
Ukazatel určuje adresu místní položky, která není v době reference viditelná.
Ukazatel určuje adresu, která je pro typ objektu, na který ukazatel ukazuje, nesprávně zarovnána.
Ukazatel určuje adresu, která není používána spuštěným programem.
Viz také
Výrazy s unárními operátory
Integrované operátory C++, jejich priorita a asociativita
Operátor address-of: &
Dereferenční operátory a operátory adresy
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro