const 与 指针

const 与 指针

指向 const 对象的指针

指向 const 对象的指针,不能够修改指针指向对象的值;但是可以修改指针的指向。举个例子:就是不能更换房间内的物品,但是可以更换房间。

我们都知道,指针的值是空间中的一个地址:也就是说不能修改地址指向对象的值;但是可以给指针一个新的地址。

#include <iostream>
int main(int argc, char const *argv[])
{
int pi = 300;
const int *pint = &pi;
std::cout << "*pint=" << *pint << "\tpint=" << pint << endl;
int pi2 = 400;
// *pint = 500; //error 不能直接修改指针的指向的对象的值
pint = &pi2; //可以修改指针的指向
std::cout << "*pint=" << *pint << "\tpint=" << pint << endl;
return 0;
}

const 指针

const 指针即常量指针。指针的值不能修改,也就是说指针指向的地址不能变,但是可以修改指向对象的值。还是用房间与物品举例子:房间不能换,但是房间内的物品可以换。

#include <iostream>
int main(int argc, char const *argv[])
{
int number = 100;
int *const pNumber = &number;
std::cout << "*pNumber=" << *pNumber << "\tpNumber" << pNumber << endl;
//output : *pNumber=100 pNumber0x5ffe50
int number2=200;
// pNumber=&number2; // error : const 指针不能指向新的对象
number = 200; //可以修改const指针指向对象的值;指针指向的地址不变。
std::cout << "*pNumber=" << *pNumber << "\tpNumber" << pNumber << endl;
//output : *pNumber=200 pNumber0x5ffe50
return 0;
}
posted @   胖子说嘛  阅读(9)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示