1. const int *ptr = NULL; <=> int const *ptr = NULL;

1) 表示指向符号常量的指针变量,指针变量本身并非const所以可以指向其他变量。

2) const 的作用可以看作是“禁止通过*ptr"来改变被ptr指向的变量的值,但被指向的变量 其本身能否改变需要看其定义

eg: const int i = 1, int j = 2;

ptr = &i; // ok

*ptr = 27 // error

i = 2 // error i is const

ptr = &j; // ok

*ptr = 28; // error

j = 3; // ok

2. const int *ptr vs int * const ptr;

1) 要区分以上两种形式重点看const与*的相对位置:

const在*之前表示”指向符号常量的指针“

const在*之后表示”指向int类型变量的常量指针

注意:若声明成 int * const ptr = NULL;则ptr的值不可改即不可再指向其它变量,

但可以通过*ptr修改其指向的变量(如果指向了的话)。

2)识记技巧

看const修饰的是*ptr还是ptr?

当 const 在 * 之前可以认为 const修饰的是 *ptr,此时*ptr的”值“不可变,ptr的值可变

当 const 在 * 之后可以认为 const修饰的是 ptr,此时ptr的值不可变,*ptr的值可变

const修饰谁,谁的值就不可再变。

3. const int * const ptr;

1) 表示”指向int型符号常量的常量指针“

2) const 即修饰了 *ptr 表示不可通过*ptr修改其指向变量的值

又修饰了 ptr 表示ptr中的值不可再修改即不能再指向其他变量

转载于:https://www.cnblogs.com/zmaibbs7/p/5096583.html

Const *ptr ptr相关推荐

  1. const char* ptr 到底是什么意思

    Bjarne在他的The C++ Programming Language里面给出过一个助记的方法:  把一个声明从右向左读. char  * const cp; ( * 读成 pointer to ...

  2. ptr *ptr 关系_如何在PTR服务器上试用新的《守望先锋》英雄

    ptr *ptr 关系 Blizzard's team-based first-person shooter Overwatch has quickly become one of the most ...

  3. OpenCV辅助对象(help objects)(3)——Ptr

    OpenCV中的Ptr(智能指针)经过多次版本修改之后,在OpenCV4.0版本之后编译器需要指出C++11的编译器才能编译.Ptr类也完全进行了修改,将Ptr修改为了使用C++11中的shared_ ...

  4. Mat类中ptr的使用

    在Mat类中,访问数据的方法有多中,下面着重讲一下ptr成员函数. ptr可以获得指向每一行首地址的指针,访问矩阵中的数据如下: #include "pch.h" #include ...

  5. DNS详解: A记录,子域名,CNAME别名,PTR,MX,TXT,SRV,TTL

    DNS DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务).域名系统为Internet上的主机分配域名地址和IP地址.由于网络中的计算机都必 ...

  6. OpenCV3学习(2.1)——图像Mat数据的访问-at/ptr/iterator

    Mat中像素的获取与赋值 图像就是一系列像素值,OpenCV使用数据结构cv::Mat来存储图像.cv::Mat是一个矩阵类,矩阵中每一个元素都代表一个像素,对于灰度图像,像素用8位无符号数,0表示黑 ...

  7. 名词解释:DNS,A记录,子域名,CNAME别名,PTR,MX,TXT,SRV,TTL

    用来扫盲不错. DNS DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务).域名系统为Internet上的主机分配域名地址和IP地址.由于网 ...

  8. 专业名词解释 - DNS,A记录,子域名,CNAME别名,PTR,MX,TXT,SRV 记录,TTL

    DNS DNS,Domain Name System或者Domain Name Service(域名系统或者域名服务).域名系统为Internet上的主机分配域名地址和IP地址.由于网络中的计算机都必 ...

  9. C++const关键字作用

    修饰普通变量,表示不可修改(在定义的时候必须初始化) #include <iostream> using namespace std; const int a1 = 10; int mai ...

最新文章

  1. 为什么会需要HTTPS?
  2. 编译动态库时遇到relocation R_X86_64_32 against a local symbol的错误
  3. Oracle笔记:备份还原
  4. java: 无法将类 com.duo_tai.Cow中的构造器 Cow应用到给定类型;
  5. 统计某个字符串中指定字符串出现的次数
  6. mysql 条件触发器_具有条件的MySQL更新触发器(MySQL Update Trigger with Conditions)
  7. 如何在 Mac 上的照片中创建幻灯片?
  8. 详解HTTP协议的工作原理
  9. java 毕向东 内部类_毕向东Java视频学习笔记【Day10 多态+内部类】
  10. Web 框架之 SSH 框架的简单搭建的简单整理(基于Eclipse)
  11. stream流倒序排序_Stream流排序
  12. 无需ROOT安卓备份Soul应用数据并提取聊天记录
  13. 高速公路上遇事故报警,微信扫这个二维码一键报警定位
  14. Kaggle网站流量预测任务第一名解决方案:从模型到代码详解时序预测
  15. 研究云计算中调度算法遇到的相关概念
  16. Proxmox VE
  17. 理想汽车确认首席技术官王凯离职
  18. 星巴克2022新年限定特饮;丹麦蓝罐曲奇虎年春节礼盒;尊尼获加、督威啤酒等虎年限定 | 食品饮料新品...
  19. 自动挡汽车开车教程,这十点要铭记在心
  20. Taulia的Darcy Douglas入选供应链最优秀女性

热门文章

  1. 因用了Insert into select语句,美女同事被开除了!
  2. 你想过 Controller 这些方法里的参数是如何工作的吗?
  3. 什么是整洁的代码?什么是肮脏的代码?
  4. Python的常用包有哪些,分别有什么作用?
  5. PYTHON编程导论群【提问与解惑】数据统计
  6. 过分!高校实验动物被学生私自放走,实验兔刚缝完针,连线都没拆......
  7. 17岁少年买不到回国机票就攻击航司系统,获刑四年!自称因疫情严重和女朋友怀孕压力大...
  8. 清华旷视:让VGG再次伟大!
  9. Epoch不仅过时,而且有害?Reddit机器学习板块展开讨论
  10. 吴 恩 达 教 你 做 机 器 学 习 职 业 规 划