1. int const*

int const *p与const int *p意义一样。

从右往左看,进行解析,这个p是个指针,而且是个常量,类型是整型。可称为指针常量

特点:*p指向一个整型的常量,但是不能通过修改p所指向内存单元的值,只能修改所指向的对象,或者通过改该对象的值。
such as:

    int a = 10;int b = 20;int c = 55;int const *p = &a;const int *q = &b;     //与上面一样p=&c;                     //可以通过,允许修改所指向的对象q=&a;*p=34;                  //不允许通过,无法通过该指针修改内容*q=123;              //同上 p=q;                  //可以通过p=&a;                    //重新指向a,通以修改a的值,修改p中的值a=456;

2. int * const p

从右往左看,一个常量p被定义为整型指针。可称为常量指针

特点:常量p是一个整型类型的指针,它能通过指针来进行修改其中的内容,但当它已经指向一个地址之后,便不能再指向其他地址,和int const*有区别

    int a = 10;int b = 20;int c = 55;int * const p = &a;int *const q = &b;*p=34;                           //可以将p所指向的地址进行修改a=894;                         //也可以通过修改a的值,使p的值进行更改p=&c;                          //该操作不被允许,已经指向一个地址,无法指向其他地址p=q;                             //该操作也不被允许,除非p还没进行初始化

3. const int* const p

从右往左看,结合上面两个,可以看做常量指针常量,即常量p是一个整型的指针,而且这个指针还是个常量

特点:结合上面两个,将两个都不能允许的操作,在这也全部不允许——不允许当p初始化后,再将p指向其他地址;不允许通过修改指针p的值

    int a = 10;int b = 20;int c = 55;const int* const p = &a;const int* const q = &b;*p=456;                           //该操作不被允许p=&c;                             //该操作不被允许a=333;                                //允许该操作,进行修改值const int* const r=p;      //允许该操作

int const*与int * const相关推荐

  1. const int * 、int * const、int const* 、const int a(){ } 和int a()const { }的区别和联系

    前言:很多人都把const int * .int * const.int const* 的区别和联系搞混,我自己在学习C++的过程中,也经常性          弄不 清楚,今天特意总结一下,作为学习 ...

  2. 喜闻乐见的const int *p、int* const p、const int* const p

    不废话直接代码示例: 1 void f(const int *p) { 2 3 int b = 10; 4 5 *p = 10; // error 6 7 p = &b; // fine 8 ...

  3. 2020-09-21C++学习笔记之与C语言区别和加强——四种const意义(const int a; int const b; const int *c; int * const d)

    2020-09-21C++学习笔记(const int a; int const b; const int *c; int * const d) 这两天在上课更新晚了. 1.C/C++中的const ...

  4. const int *,const int * const和int const *有什么区别?

    我总是搞砸了如何正确使用<code>const int* , const int * const和int const * . 是否有一组规则定义您可以做什么和不能做什么? 我想知道在分配, ...

  5. int *p,cons int *p,int const *p,int * const p,const int * const p,int const * const p的区别

     加有const关键字的几种情况的辨析 const修饰的代码 含义(特点) 等价性 int *p = # 1.       可以读自己 2.       可以通过*p改自己 3.       可以 ...

  6. const int *a和int*const a 的区别详解

    补充知识 "const int i"与"int const i"之间的区别 对变量来说,const 关键字可以限定一个变量的值不允许改变,从而保护被修饰的东西, ...

  7. 【转】const int *p和int * const p的区别(常量指针与指向常量的指针)

    [转]作者:xwdreamer   出处:http://www.cnblogs.com/xwdreamer 对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &am ...

  8. const int *p与int *const p的区别

    From: http://blog.csdn.net/suer0101/article/details/8032269 本文只是一篇学习笔记,是看了<彻底搞定C指针>中的相关篇幅后的一点总 ...

  9. const int *p和int *const p的区别

    1.const int *p 比如: int i = 0: const int *p = &i; *p = 100; //错误 cout << *p; //正确 总结:可读不可写. ...

  10. 关于const A* f(const A* pSrc,A* const pDst,int v=2,...) const throw();

    昨天面试碰到一道const题目: class A { public: const A* f(const A* pSrc,A* const pDst,int v=2,...) const throw() ...

最新文章

  1. Centos 不小心删除了openssl,导致无法使用sshd、yum、wget、curl 等软件的问题。。...
  2. 安全性神话已不再,首个MacOS勒索病毒现身
  3. 无法读取内存属于错误吗_深入了解 JavaScript 内存泄露
  4. python 笔记:函数
  5. 什么是formal method的invarient
  6. JSP 基础之 JSTL c:forEach用法
  7. python代码学习-数据处理图片加遮挡、噪声、模糊
  8. android studio你可能忽视的细节——启动白屏?drawable和mipmap出现的意义?这里都有!!!...
  9. jdeveloper_JDeveloper中的Java反编译器
  10. insert自动跳过存在数据_轻松入门mongo 数据库
  11. mybais 之parameterType =list
  12. 京东sdk调用实例_Apache ShardingSphere(Incubating)对接京东白条实战
  13. 冒泡python代码_用Python写冒泡排序代码
  14. Arduino应用开发——手机APP控制LED
  15. 职业选手图解教你如何DIY装机
  16. TCP/IP网络编程之基于TCP的服务端/客户端(一)
  17. SAP PI/PO 视频,自己录制
  18. 最近做到的一些有意思的数学题目(博弈,双人玩游戏)
  19. PageRank算法(二)
  20. mysql查询更新优化_mysql查询优化(持续更新中)

热门文章

  1. SSH异常——严重:Servlet.service() for servlet jsp threw exception org.apache.jasper.JasperException
  2. IOS应用程序自身的本地化
  3. 编程珠玑之第二章习题10
  4. 外贸新手如何把控跟进客户,附11个常见的外贸客户类型及如何回复跟进
  5. iOS 11配置文件
  6. 计算机进位计数制实训课教案,进制转换汇报课教案[五篇]
  7. 深入详解DataTable
  8. 群脉冲(EFT)异常整改记录
  9. android registerreceiver传参数,Android应用程序注册广播接收器(registerReceiver)的过程分析...
  10. 微信小程序 — 实现上下滚动的广告效果