美文网首页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