c++ primer笔记 将关键字 const 加在形参表之后,就可以将成员函数声明为常量:
2012-05-24 20:25
232 查看
将关键字 const 加在形参表之后,就可以将成员函数声明为常量:
double avg_price() const;
const 成员不能改变其所操作的对象的数据成员。const 必须同时出现在声
明和定义中,若只出现在其中一处,就会出现一个编译时错误。
可以在类定义体内部指定一个成员为 inline,作为其声明的一部分。或者,
也可以在类定义外部的函数定义上指定 inline。在声明和定义处指定 inline
都是合法的。在类的外部定义 inline 的一个好处是可以使得类比较容易阅读。
从 const 成员函数返回 *this
在普通的非 const 成员函数中,this 的类型是一个指向类类型的 const
指针(第 4.2.5 节)。可以改变 this 所指向的值,但不能改变 this 所保存
的地址。在 const 成员函数中,this 的类型是一个指向 const 类类型对象的
const 指针。 既不能改变 this 所指向的对象, 也不能改变 this 所保存的地址。
不能从 const 成员函数返回指向类对象的普通引用。const 成
员函数只能返回 *this 作为一个 const 引用。
可变数据成员
有时(但不是很经常),我们希望类的数据成员(甚至在 const 成员函数
内)可以修改。这可以通过将它们声明为 mutable 来实现。
562
可变数据成员(mutable data member)永远都不能为 const,甚至当它是
const 对象的成员时也如此。因此,const 成员函数可以改变 mutable 成员。
要将数据成员声明为可变的,必须将关键字 mutable 放在成员声明之前:
class Screen {
public:
// interface member functions
private:
mutable size_t access_ctr; // may change in a const members
// other data members as before
};
double avg_price() const;
const 成员不能改变其所操作的对象的数据成员。const 必须同时出现在声
明和定义中,若只出现在其中一处,就会出现一个编译时错误。
可以在类定义体内部指定一个成员为 inline,作为其声明的一部分。或者,
也可以在类定义外部的函数定义上指定 inline。在声明和定义处指定 inline
都是合法的。在类的外部定义 inline 的一个好处是可以使得类比较容易阅读。
从 const 成员函数返回 *this
在普通的非 const 成员函数中,this 的类型是一个指向类类型的 const
指针(第 4.2.5 节)。可以改变 this 所指向的值,但不能改变 this 所保存
的地址。在 const 成员函数中,this 的类型是一个指向 const 类类型对象的
const 指针。 既不能改变 this 所指向的对象, 也不能改变 this 所保存的地址。
不能从 const 成员函数返回指向类对象的普通引用。const 成
员函数只能返回 *this 作为一个 const 引用。
可变数据成员
有时(但不是很经常),我们希望类的数据成员(甚至在 const 成员函数
内)可以修改。这可以通过将它们声明为 mutable 来实现。
562
可变数据成员(mutable data member)永远都不能为 const,甚至当它是
const 对象的成员时也如此。因此,const 成员函数可以改变 mutable 成员。
要将数据成员声明为可变的,必须将关键字 mutable 放在成员声明之前:
class Screen {
public:
// interface member functions
private:
mutable size_t access_ctr; // may change in a const members
// other data members as before
};
相关文章推荐
- C++学习之const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++中的const成员函数(函数声明后加const,或称常量成员函数)用法详解
- C++常量详解二(常量形参,常量返回值,常量成员函数)
- const限定修饰符用法总结(常量,指针,迭代器,函数参数,成员函数)
- const关键字在类的成员函数上的应用(1)
- 非const对象也可以调用const成员函数
- PHP定义常量时const关键字和define()函数的区别
- const关键字在类的成员函数上的应用(2)
- C++成员函数末尾const关键字…
- 非const对象也可以调用const成员函数
- 成员函数声明为常量的解释--C++学习笔记
- C++ 类成员函数后面加 const关键字
- 含有const关键字成员函数