Pointer types
Aus cppreference.com
![]() |
This page has been machine-translated from the English version of the wiki using Google Translate.
The translation may contain errors and awkward wording. Hover over text to see the original version. You can help to fix errors and improve the translation. For instructions click here. |
This section is incomplete Reason:
|
Inhaltsverzeichnis |
[Bearbeiten] Syntax
cv type * cv identifier
|
(1) | ||||||||
return ( * identifier ) ( param_types )
|
(2) | ||||||||
return ( class_name :: * identifier ) ( param_types ) cv_qualifier
|
(3) | ||||||||
type & identifier
|
(4) | ||||||||
type && identifier
|
(5) | (seit C++11) | |||||||
[Bearbeiten] Erklärung
# Pointer auf die Daten
Original:
# Pointer to data
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# Pointer zu funktionieren
Original:
# Pointer to function
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# Zeiger auf Member-Funktion
Original:
# Pointer to member function
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
#-Referenz
Original:
# Reference
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
# R-Wert auf
Original:
# r-value reference
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
You can help to correct and verify the translation. Click here for instructions.
[Bearbeiten] Notes
- Wenn cv vor
*
ist, wird der spitzen-to betroffene Objekt .Original:If cv is before*
, the pointed-to object is affected.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions. - Wenn cv nach
*
ist, wird der Zeiger betroffen .Original:If cv is after*
, the pointer is affected.The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
Syntax | meaning |
---|---|
const T * | pointer to constant object |
T const * | pointer to constant object |
T * const | constant pointer to object |
const T * const | constant pointer to constant object |
const T & | reference to constant object |
[Bearbeiten] Beispiel
#include <iostream> struct Class { int data_member; void member_function(int i) const { std::cout << "Member function: " << i << std::endl; } static void static_member_function ( int i ) { std::cout << "Static member function: " << i << std::endl; } }; void global_function ( int i ) { std::cout << "Global function: " << i << std::endl; } int main() { Class object; Class *ptr = &object; ptr->member_function(1); Class &ref = object; ref.data_member = 2; std::cout << "object.data_member = " << object.data_member << std::endl; void (Class::*ptr_to_memfun)(int) const = &Class::member_function; (object.*ptr_to_memfun)(3); (ptr->*ptr_to_memfun)(4); void (*ptr_to_fun)(int) = Class::static_member_function; ptr_to_fun(5); ptr_to_fun = global_function; ptr_to_fun(6); }
Output:
Member function: 1 object.data_member = 2 Member function: 3 Member function: 4 Static member function: 5 Global function: 6