博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
指针和const限定符
阅读量:5175 次
发布时间:2019-06-13

本文共 753 字,大约阅读时间需要 2 分钟。

1、指向const对象的指针

     const int *cptr;    // cptr 定义为一个指向int型const对象的指针

const限定了cptr指针所指的对象类型,而非cptr本身。也就是说cptr本身并不是const。但是由于指针所指对象为const型,所以不允许用指针来改变所指的const值。为了保持这个特性,C++ 语言强制要求指向const对象的指针也必须具有const特性,也就是cptr的值可以改变,但只能指向另一个const对象。

2、const 指针

     int errNum = 0;

     int *cosnt curErr = &errNum;   // curErr 为指向int型对象的const指针

和其它const对象一样,const指针的值不能修改,这就意味着不能使 curErr 指向其它对象。

3、指向const对象的const指针

     const double pi = 3.14159

     const double *const pi_ptr = &pi     // pi_ptr定义为指向const对象的const指针

4、指针和 typedef

     typedef string *pstring;

     const pstring cstr;

错误的理解:const string *cstr,const pstring是一种指针,指向string类型的const对象。

错误原因在于将 typedef 当做文本拓展了。声明const pstring时,const修饰的是pstring的类型,这是一个指针。因此,

正确的理解:cstr被定义为指向string类型的const指针。

转载于:https://www.cnblogs.com/wangliuyiyi/p/5606202.html

你可能感兴趣的文章
Java异常超详细总结
查看>>
Core Data 编程指南
查看>>
Crash dump中需要重点关注的信息
查看>>
art.dialog
查看>>
html css float left与 float right的使用说明
查看>>
重载运算符
查看>>
RHEL 7.3修改网卡命名规则为ethX
查看>>
Eclipse 中报错的阅读顺序
查看>>
js | javascript改变style样式和css样式
查看>>
ubuntu14 文件夹添加/删除书签
查看>>
Wp7越狱
查看>>
unixodbc 连接mysql数据库
查看>>
SQL语句写法
查看>>
插入排序
查看>>
Linux基础(4)
查看>>
bootStrap实现垂直居中 - bootStrap技巧
查看>>
C#实现局域网文件传输
查看>>
VS2005和VS2008快捷键大全(转)
查看>>
【转】C#根据经纬度请求返回坐标实际地址
查看>>
用JS去掉第一个字符和最后一个字符
查看>>