const char *p = "hello";被指物是常量,指针自身不是常量。

    char * const p = "hello";被指物不是常量,指针本身是常量。

    const char * const p = "hello";被指物和指针本身都是常量。

 

    vector<int> vec;

    const vector<int>::iterator iter = vec.begin(); // iter是const,不能改变。所指物*iter可以改变。

    vector<int>::const_iterator cIter = vec.begin();// cIter可以改变,但是所指物*cIter是const,不能改变。

 

    令函数返回一个常量值,可以防止函数作为赋值表达式的左值这种没意义的赋值操作。

    将const作用于成员函数,使class接口容易理解,可以知道哪个函数可以改动对象内容而哪个函数不行;使“操作const对象”成为可能。

    两个成员函数如果只是常量性不同,可以被重载。

   

Posted on 2011-11-27 10:54  SomethingReview  阅读(83)  评论(0)    收藏  举报