一,Use const whenever possible.(03)
主要内容
const是一个强大的武器,它允许你指定一个语义约束(指定一个“不该被改动”的对象),然后通过编译器来行使这项约束。而我们应该做的事情就是,只要这(某值应该保持不变)是一个事实,那么久该尽可能的说出来,获得编译器的襄助,减少程序出错的可能。
下面记录一些我觉得自己还不太熟的tips:
1,const在*左右分别表示 是指针指向的数值为const还是指针本身是const。
2,const在函数前,表示其返回值是const不能被修改;const如果为函数参数,表示该参数在函数中不可被修改;const如果修饰函数本身,则这个函数是bitwise const的,不可修改任何关于对象的内容。
3,const 和 const-non函数,可以够成重载。但是这往往会导致大量代码的重复。我们可以通过让non-const函数调用const函数实现常量性转移(casting away constness)(不可反向)。