C++指针解惑(不断学习补充中)

1、指向对象的常指针和指向常对象的指针变量相同与区别?
(1)指向对象的常量指针,地址不变,值可以变,一般记为char *const  p

   int i = 5;
  const int* p = &i; // *p=5,可以通过指针p改变i得值,但是p不能做改变,比如作++运算。


(2)指向常量的指针,地址可以变,值不能变,一般记为:char const *p,等价于const char *p

  const int i=5;
  int* p = &i; // p可以指向其他地址,但是不能改变*p的值


(3)指向常量的常量指针,地址和值都不能变
const int* const p = 5;

2、指向对象的指针与对象指针的区别?

(1)指向对象的指针就是“指向类对象的指针”
class persion;
persion apersion;
persion* pa=&apersion; //指向类persion对象的指针

(2)对象指针:类数据成员和成员函数的指针,指向类数据成员或成员函数
class persion
{
public:
int height;
int weight;
int volume();
};
int persion::* pa;
pa=&persion::height; //数据对象指针
int (persion::*pvolume)();
pvolume=&persion::volume; //函数对象指针

类对象指针调用时必须与类对象一起调用才行,如下

persion apersion(170,60);
int persion::* pa;
pa=&persion::height;
cout<<apersion.*pheight<<endl;

int (persion::*pvolume)();
pvolume=&persion::volume;
cout<<(apersion.*pvolume)()<<endl;
3、结构体指针,参阅:http://blog.csdn.net/xiaohuizi2009/article/details/8629401

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值