Operator pośredni: *
Składnia
* cast-expression
Uwagi
Jednoargumentowy operator pośredni (*
) wyłuszcza wskaźnik, czyli konwertuje wartość wskaźnika na wartość l.. Operand operatora pośredniego musi być wskaźnikiem typu. Wynikiem wyrażenia pośredniego jest typ, z którego pochodzi typ wskaźnika. Użycie *
operatora w tym kontekście różni się od jego znaczenia jako operatora binarnego, który jest mnożeniem.
Jeśli operand wskazuje funkcję, wynik jest oznaczeniem funkcji. Jeśli wskazuje on lokalizację magazynu, wynikiem jest l-wartość opisująca lokalizację magazynu.
Operator pośredni może służyć zbiorczo do wyłudzania 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 niezdefiniowany. 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 momencie 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 program wykonujący.
Zobacz też
Wyrażenia z operatorami jednoargumentowymi
Wbudowane operatory, pierwszeństwo i kojarzenie języka C++
Operator Address-of: &
Operatory pośrednie i „Address-of”
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla