昨天面试碰到一道const题目:
class A
{
public:
const A* f(const A* pSrc,A* const pDst,int v=2,...) const throw();
}a;
请按顺序指出每个const的意义:
const 在c中的意思是一个不可更改的普通变量,c 中const用法主要有定义常量修饰函数参数,修饰返回值等3个作用;c++中const 还能修饰函数定义体,定义类中某个函数为恒态函数,被const 修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。const 声明常量时必须同时初始化
const throw()在这里表示无论如何此成员函数不抛出异常。
如此一来:const A* pSrc表示指针指向的值不可更改,A* const pDst表示指针不可更改。const A* f()表示f函数为恒态函数