Home  >  Article  >  Backend Development  >  How does a C++ pointer reference an object?

How does a C++ pointer reference an object?

WBOY
WBOYOriginal
2024-06-03 13:00:57450browse

In C++, a pointer can refer to an object. The steps include: declaring a pointer variable, obtaining the object address and assigning it to the pointer. This allows programmers to access and modify an object's properties and methods through pointers.

C++ 指针如何引用对象?

C++ Pointer Reference Object

In C++, a pointer is a data type that stores the address of another variable or object . Pointers can refer to objects, allowing us to access and modify the object's data in a way that references the object.

Usage:

To make a pointer refer to an object, the following steps are required:

  1. Declare a pointer variable with the same type as the one to be referenced The object types are the same.
  2. Use the address operator (&) to get the address of the object.
  3. Assign the address of the object to the pointer variable.

Grammar:

<对象类型>* 指针名 = &对象;

Practical case:

Suppose there is a person named Person A class that contains name and age data members. We create a Person object and then reference it using a pointer.

#include <iostream>

class Person {
public:
    std::string name;
    int age;
};

int main() {
    Person person = {"Alice", 25};

    // 声明一个指向 Person 对象的指针
    Person* personPtr = &person;

    // 使用指针访问对象的属性
    std::cout << "Name: " << personPtr->name << std::endl;
    std::cout << "Age: " << personPtr->age << std::endl;

    // 通过指针修改对象的属性
    personPtr->age++;
    std::cout << "Updated Age: " << personPtr->age << std::endl;

    return 0;
}

Run result:

Name: Alice
Age: 25
Updated Age: 26

In this case, personPtr points to the person object, allowing us to pass the pointer Access and modify data members of person.

The above is the detailed content of How does a C++ pointer reference an object?. 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