Home  >  Article  >  Backend Development  >  The difference between C++ references and pointers

The difference between C++ references and pointers

Guanhui
GuanhuiOriginal
2020-05-29 14:32:303132browse

The difference between C++ references and pointers

C The difference between a reference and a pointer

1. A pointer has its own space, while a reference is just an alias;

2. The pointer can be initialized to NULL, but the reference must be initialized and must be a reference to an existing object;

3. The meanings of operators used by pointers and references are different.

Pointer

The special thing about pointers is that the value stored in the memory space corresponding to the pointer variable happens to be a certain memory address. This is also one of the characteristics that distinguishes pointer variables from other variables. For example, a pointer is defined as follows:

int x = 5;
int *ptr = &x;

ptr is a correction variable name. Obtaining the value in the memory pointed to by this pointer through a pointer is called dereferencing. Null pointers cannot be dereferenced.

The representation of pointer memory space is as follows:

The difference between C++ references and pointers

##Quote

References are also often used in C, especially when used as function parameters and when the value outside the function needs to be modified and updated inside the function. First of all, we must make it clear that a reference is a special kind of pointer.

A reference is a constant pointer pointing to another object, which holds the storage address of the pointed object. And it will be automatically dereferenced when used, without the need to explicitly retrieve it like using a pointer.

For example, the definition of the quote is as follows:

int x = 5;
int &y = x;


Recommended tutorial: "
C#"

The above is the detailed content of The difference between C++ references and pointers. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:How to use xcodeNext article:How to use xcode