const char * a; //指向const对象的指针或者说指向常量的指针。
char const * a; //同上
char * const a; //指向类型对象的const指针。或者说常指针、const指针。
const char * const a; //指向const对象的const指针。

小结:如果const位于的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于的右侧,const就是修饰指针本身,即指针本身是常量。

具体使用如下:

(1)指向常量的指针

const int *ptr;
*ptr = 10; //error
ptr是一个指向int类型const对象的指针,const定义的是int类型,也就是ptr所指向的对象类型,而不是ptr本身,所以ptr可以不用赋初始值。但是不能通过ptr去修改所指对象的值。除此之外,也不能使用void指针保存const对象的地址,必须使用const void类型的指针保存const对象的地址。
const int p = 10;
const void * vp = &p;
void *vp = &p; //error
另外一个重点是:允许把非const对象的地址赋给指向const对象的指针。将非const对象的地址赋给const对象的指针:
const int *ptr;
int val = 3;
ptr = &val; //ok
const指针必须进行初始化,且const指针的值不能修改
#include<iostream>
using namespace std;
int main(){int num=0;int * const ptr=&num; //const指针必须初始化!且const指针的值不能修改int * t = &num;*t = 1;cout<<*ptr<<endl;
}

c++ const 常指针相关推荐

  1. const指针 常指针

    (2)常指针 必须进行初始化,且const指针的值不能修改. #include<iostream> using namespace std; int main(){const int nu ...

  2. C语言中Const指针变量(常指针)

    C语言中,指针是最难理解的一部分,尤其是Const指针变量. Const指针变量只保护其Value值不被改变,并不能保护指针所指向的地址中的值不被改变,下面是针对Const指针的一个小练习: #inc ...

  3. 常引用、常量指针、指针常量、指向常量的常指针、空指针与野指针解释

    1.一.基础知识 引用并非对象 引用必须初始化 引用只能绑定在对象上,而不能与字面值或某个表达式的计算结果绑定在一起 类型要严格匹配 int &a = 10; //错误:引用类型的初始值必须是 ...

  4. 常指针、指向常量的指针、指向常量的常指针

    三者的区分 简而言之- 常指针:地址不可变,内容可变 指向常量的指针:地址可变,内容不可变 指向常量的常指针:地址不可变,内容不可变 样例 代码如下: #include <iostream> ...

  5. C语言 const 修饰指针 - C语言零基础入门教程

    目录 一.const 简介 二.const 修饰指针 1.const int *p 2.int const *p 3.int * const p 4.const int * const p 三.猜你喜 ...

  6. C++ const 引用 指针答疑

    常变量 const int a 常引用 const int &a 常指针 const int *a const * int a 用法1:常量     取代了C中的宏定义,声明时必须进行初始化( ...

  7. 【C++---16】常指针和常引用

    Coordinate coor1(3,5); //定义一个普通对象const Coordinate &coor2 = coor1; //coor2是对象的常引用const Coordinate ...

  8. 常指针和指向常量的指针

    最近在学习引用,有一些学习心得,记录如下: 1:引用是变量的别名 int a; int b&=a; 要注意引用只有声明,而没有定义,并且引用必须在声明的时候进行初始化,一旦与某个变量关联起来, ...

  9. 彻底理解——指针常量和常量指针、指向常量的常指针

    前言   在汉语中,定语一般都放在中心词的前面,像C语言和C++语言这种技术性语言,更是如此.   所以定语重要还是中心词重要,肯定是中心词重要.   如:美丽的女孩 美丽的是定语 女孩是中心词    ...

最新文章

  1. LeetCode简单题之增量元素之间的最大差值
  2. java自定义上下文对象_Java框架_Spring应用上下文对象加载配置
  3. R语言officer、flextable包生成word报告
  4. .NET里面的Interop太烂了
  5. Mysql5.7.20使用group by查询(select *)时出现错误--修改sql mode
  6. 如何修改Win11睡眠时间
  7. Jeewx捷微 , 免费微信公众账号管家系统发布,采用JAVA语言
  8. 微服务架构实战篇(三):Spring boot2.0 + Mybatis + PageHelper实现增删改查和分页查询功能
  9. win10计算机管理字体糊,大神分析win10系统高分屏字体模糊的办法介绍
  10. 博图v15编程手册_好消息!全套西门子plc编程软件,案例和说明书下载
  11. 腾讯、阿里、京东…互联网大厂2022新年礼盒长啥样?
  12. gif 格式图片详细解析
  13. 计算机网络中数据传输速率的单位是什么,计算机网络中传输介质传输速率的单位是用什么表示...
  14. 计算机个性化桌面后总是恢复,Win7切换主题导致个性化桌面图标失效恢复初始的解决方法...
  15. 光衰高怎么办_灯太亮了怎么办 led灯该如何选择
  16. 网上一位仁兄关于项目管理的总结
  17. HTML5+CSS期末大作业:运动体育网站设计主题——体育铅球(5页)带注册 期末作业HTML代码
  18. `SpringBoot`+`axios`结合发送`ajax`请求
  19. 不能邮箱登录的网站都是耍流氓【无力吐槽】
  20. MySQL彻底卸载全过程

热门文章

  1. C++类与const关键字
  2. Java基础-IO流对象之数据流(DataOutputStream与DataInputStream)
  3. 有外键约束的子表插入数据时出现的错误
  4. Uva 11922 Splay
  5. Swift - static和class的使用
  6. nginx+fastcgi+c/c++搭建高性能Web框架
  7. Linux环境手动创建oracle10g数据库实践
  8. IDEA2021快捷键windows
  9. PAT甲级1132 Cut Integer:[C++题解]
  10. android+模拟器皮肤,自定义android模拟器皮肤和键盘映射