美文网首页iOS学习程序员
C++ const 符号常量写法区别

C++ const 符号常量写法区别

作者: 石虎132 | 来源:发表于2018-02-11 11:13 被阅读137次

    //联系人:石虎 QQ:1224614774 昵称:嗡嘛呢叭咪哄

    一、概念

    1.const写法

      (1)const char *p

      (2)char const *p

      (3)char * const p

    二、const写法区别

     如果const位于 * 的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;

    如果const位于 * 的右侧,则const就是修饰指针本身,即指针本身是常量。

    (1)const char *p

    一个指向char类型的const对象指针,p不是常量,我们可以修改p的值,使其指向不同的char,但是不能改变它指向非char对象,如:

    const char *p;

    char c1='a';

    char c2='b';

    p=&c1;//ok

    p=&c2;//ok

    *p=c1;//error

    (2)char const *p

    (3)char * const p

      这两个好象是一样的,此时*p可以修改,而p不能修改。

    (4)const char * const p

      这种是地址及指向对象都不能修改。

    谢谢!!!

    相关文章

      网友评论

      • LoveY34:char const *p和char * const p一样的结论与“如果const位于 * 的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;

        如果const位于 * 的右侧,则const就是修饰指针本身,即指针本身是常量。”的结论是不是冲突啊?
        石虎132:@LoveY34 在左侧修饰的是* 指针

      本文标题:C++ const 符号常量写法区别

      本文链接:https://www.haomeiwen.com/subject/icyktftx.html