Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1815242
  • 博文数量: 496
  • 博客积分: 12043
  • 博客等级: 上将
  • 技术积分: 4778
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-27 14:26
文章分类

全部博文(496)

文章存档

2014年(8)

2013年(4)

2012年(181)

2011年(303)

2010年(3)

分类: C/C++

2011-05-04 16:20:30

mutable英音:'mju:təbl美音:'mjutəb!,形容词,意为易变的;反复无常的。在C++语言中,是命令语言——如果一个函数被const 修饰,那么它将无法修改其成员变量的,但是如果这个成员变量是被mutable修饰的话,则可以修改。

  mutable 可以用来指出,即使结构或者类变量为const,其某个成员也可以被修改。
  在c++的类中, 如果一个函数被const 修饰,那么它将无法修改其成员变量的,但是如果这个成员变量是被mutable修饰的话,则可以修改。
  例如
  struct data
  {
  char name[30];
  mutable int accesses;
  ....
  };
  const data veep = {"david";,0,}
  strcpy(veep.name,"Jimmy");// not allowed
  veep.accesses++; // allowed
  veep 的const限定符禁止程序修改veep的成员,但access成员的mutable说明符表示access不受这种限制。
阅读(714) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~