碰到了以下代码:
bool operator()(const T* const abc, T* residual ) const
对const的用法,一直不解。
参考:http://blog.csdn.net/skywalker_leo/article/details/48627933
http://blog.csdn.net/hsd2012/article/details/50963908
int* const : 指向int 的常量指针,必须在定义时赋值,不可以更改指针的值,但是可以更改所指向的值。
const int* : 指向const int 的指针,不可以更改指针指向的值,可以更改指针的值。
int const* : 同const int*等价的。
附:还可以const int * const 这样叠加的。
函数声明后面加const:
- const的函数不能对其数据成员进行修改操作。
- const的对象,不能引用非const的成员函数。