返回信息流函数名字的最后
这里加个const有什么用?
Matrix4 operator * ( const Matrix4 &m2 ) const
{
.....
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #38275同步于 2010/4/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
这里加个const是什么意思呢?
ilovelife
2010/4/20镜像同步9 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
ls的说的都很少 而且都不太明确
这么说吧
由于传入的值是一个Matrix4 &m2的地址类型,这就意味着在函数里面是可以通过地址来修改m2对象里面的值,而这种修改不是程序所需要的
因此 必须禁止,所以在前面加了const,如果后面有任何的修改语句,那么编译器会提示你,const类型不能被修改。。。
这是一种保护机制。。。
建议lz去看effective c++,里面有很详细的例子和解说
http://www.chinaunix.net/jh/23/143183.html
const 限定类的成员函数:
class classname {
public:
int fun() const;
.....
}
注意:采用此种const 后置的形式是一种规定,亦为了不引起混淆。在此函数的声明中和定义中均要使用const,因为const已经成为类型信息的一部分。
获得能力:可以操作常量对象。
失去能力:不能修改类的数据成员,不能在函数中调用其他不是const的函数。