Pointer types — cppreference.com
De cppreference.com
<metanoindex/>
Syntaxe
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) | (depuis C++11) | |||||||
Explication
# Pointeur de données
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.
# Pointeur pour fonctionner
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.
Pointeur # membre de fonction
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.
# De référence
Original:
# Reference
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.
# R-valeur de référence
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.
Notes
Si cv est avant
*, l'objet pointé est affectée à .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.Si cv est après
*, le pointeur est affecté .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 |
Exemple
#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); }
Résultat :
Member function: 1 object.data_member = 2 Member function: 3 Member function: 4 Static member function: 5 Global function: 6