面试必备:深入解析C++引用与指针,清晰对比使用方法和初始化过程

作者:微信公众号:【架构师老卢】
11-30 7:45
173

概述:C++引用和指针是处理内存地址的两种不同机制。引用是变量的别名,必须在初始化时与对象绑定;指针是存储地址的变量,可重新指向其他地址。示例源代码生动展示了它们的使用和初始化方式。

C++中的引用和指针都用于处理内存地址,但它们有明显的区别。以下是对C++引用和指针的详细描述,包括它们的定义、使用方法和相应的示例源代码。

C++引用和指针的区别:

1. 定义方式:

  • 引用: 引用是一个别名,通过&符号声明,必须在初始化时绑定到一个对象,之后不能再绑定其他对象。

  • 指针: 指针是一个变量,存储另一个变量的地址,通过*符号声明。

2. 使用方法:

  • 引用: 引用在声明时需要初始化,之后可以像原变量一样使用,没有自己的地址。

  • 指针: 指针在声明后可以重新指向其他地址,通过解引用(*)操作访问所指向的值。

3. 空引用和空指针:

  • 引用: 不存在空引用,必须在初始化时与某个对象绑定。

  • 指针: 可以是空指针,即指向空地址。

示例源代码:

引用的示例:

#include <iostream>

int main() {
    int num = 5;
    int& refNum = num; // 引用初始化
    refNum = 10;      // 修改原变量
    std::cout << "num: " << num << std::endl; // 输出: 10
    return 0;
}

指针的示例:

#include <iostream>

int main() {
    int num = 5;
    int* ptrNum = &num; // 指针初始化
    *ptrNum = 10;       // 修改原变量
    std::cout << "num: " << num << std::endl; // 输出: 10
    return 0;
}

这两个示例演示了引用和指针分别修改原变量的值,突显了它们在使用和初始化上的不同之处。

阅读排行