Pointer types
Da 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. |
Esta seção está incompleta Motivo:
|
Índice |
[editar] Sintaxe
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) | (desde C++11) | |||||||
[editar] Explicação
# Ponteiro para dados
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.
# Ponteiro para funcionar
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.
# Ponteiro para função de membro
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.
# Referência
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 valor de referência
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.
[editar] Notas
- Se cv é antes
*
, o objeto pontiagudo para é afetado.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. - Se cv é depois
*
, o ponteiro é afetado.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 |
[editar] Exemplo
#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); }
Saída:
Member function: 1 object.data_member = 2 Member function: 3 Member function: 4 Static member function: 5 Global function: 6