#include <iostream>
#include <string>
using namespace std;
//C++的const指针用法
int main()
{
//const修饰指针有三种方式:
int x = 12;
int y = 34;
//1,p1可以指向不同的内存地址,但是不能通过p1修改内存地址所指向的数据
const int *p1;
p1 = &x;
p1 = &y;
//编译错误,error C3892: “p1”: 不能给常量赋值
//*p1 = 11;
//2,p2初始化后再不能指向其他的内存地址,但是可以通过p2修改内存地址所指向的数据
int* const p2 = &x;
//编译错误,error C3892: “p2”: 不能给常量赋值
//p2 = &y;
//可以通过p2修改x的值,此时x=111
*p2 = 111;
//3,p3初始化后再不能指向其他的内存地址,也不能通过p3修改内存地址所指向的数据
const int* const p3 = &y;
//编译错误,error C3892: “p3”: 不能给常量赋值
p3 = &x;
//编译错误,error C3892: “p3”: 不能给常量赋值
*p3 = 1234;
system("pause");
return 0;
}
C++基础学习(三),指针和引用
最新推荐文章于 2022-08-07 17:07:13 发布