• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

connect the dots

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

指针和const限定符

1.指向const对象的指针

const int *i;

表示 指向int型的指针, 允许给i重新赋值,指向另一个const int型对象,但不允许通过i修改其所指向对象的值。 把一个const对象的地址赋给一个普通的 非const对象的指针也会导致编译时的错误。

允许把非const对象的地址赋给指向const对象的指针。

 

2. const指针  本身的值不能修改。

int *const i; //i 是指向int型对象的const指针。

int inum=9;

i=&inum;

const指针的值不能修改,即不能使 i 指向其他的对象。任何企图给const指针赋值的行为 都会导致编译错误。

指针本身是const的事实并没有说明是否能使用该指针修改它所指向的对象的值。 指针所指向的对象的值能否修改完全取决于该对象的类型。

 

3. 指向const对象的const指针

const double pi= 3.14159;

const double *const pi_ptr=π

本例中 ,既不允许修改pi_ptr所指向的对象的值,也不允许修改该指针的指向(即pi_ptr中存放的地址值)。

 

const 成员函数

bool same_isbn(const Sales_item &rhs) const

{ return isbn== rhs.isbn;}

const 改变了隐含的this形参的类型。

 

 

posted on 2011-12-14 10:19  nimo299  阅读(142)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3