用const修饰指针
1)常量指针
语法:const 数据类型 *变量名;
不能通过解引用的方法修改内存地址中的值(用原始的变量名是可以修改的)。
注意:
l 指向的变量(对象)可以改变(之前是指向变量a的,后来可以改为指向变量b)。
l 一般用于修饰函数的形参,表示不希望在函数里修改内存地址中的值。
l 如果用于形参,虽然指向的对象可以改变,但这么做没有任何意义。
l 如果形参的值不需要改变,建议加上const修饰,程序可读性更好。
2)指针常量
语法:数据类型 * const 变量名;
指向的变量(对象)不可改变。
注意:
l 在定义的同时必须初始化,否则没有意义。
l 可以通过解引用的方法修改内存地址中的值。
l C++编译器把指针常量做了一些特别的处理,改头换面之后,有一个新的名字,叫引用。
3)常指针常量
语法:const 数据类型 * const 变量名;
指向的变量(对象)不可改变,不能通过解引用的方法修改内存地址中的值。
常引用。
常量指针:指针指向可以改,指针指向的值不可以更改。
指针常量:指针指向不可以改,指针指向的值可以更改。
常指针常量:指针指向不可以改,指针指向的值不可以更改。
记忆秘诀:*表示指针,指针在前先读指针;指针在前指针就不允许改变。
常量指针:const 数据类型 *变量名
指针常量:数据类型 * const 变量名
1)常量指针
语法:const 数据类型 *变量名;
不能通过解引用的方法修改内存地址中的值(用原始的变量名是可以修改的)。
注意:
l 指向的变量(对象)可以改变(之前是指向变量a的,后来可以改为指向变量b)。
l 一般用于修饰函数的形参,表示不希望在函数里修改内存地址中的值。
l 如果用于形参,虽然指向的对象可以改变,但这么做没有任何意义。
l 如果形参的值不需要改变,建议加上const修饰,程序可读性更好。
2)指针常量
语法:数据类型 * const 变量名;
指向的变量(对象)不可改变。
注意:
l 在定义的同时必须初始化,否则没有意义。
l 可以通过解引用的方法修改内存地址中的值。
l C++编译器把指针常量做了一些特别的处理,改头换面之后,有一个新的名字,叫引用。
3)常指针常量
语法:const 数据类型 * const 变量名;
指向的变量(对象)不可改变,不能通过解引用的方法修改内存地址中的值。
常引用。
常量指针:指针指向可以改,指针指向的值不可以更改。
指针常量:指针指向不可以改,指针指向的值可以更改。
常指针常量:指针指向不可以改,指针指向的值不可以更改。
记忆秘诀:*表示指针,指针在前先读指针;指针在前指针就不允许改变。
常量指针:const 数据类型 *变量名
指针常量:数据类型 * const 变量名
用const修饰指针的更多相关文章
- const修饰指针
关于const修饰指针的情况,一般分为如下4种情况: ; const int *a =&b; //情况1 int const *a =&b; //情况2 int* const a =& ...
- C语言--const修饰指针解析
这种例子在我们平时编程时可能会很少用,但是在面试时被问的可能性就很大了. 用const修饰指针,常见的情况可以分为四种: 1.const int *p; // p 可变,p 指向的对象不可 ...
- const修饰指针+volatile +restrict
const这块的难点 const修饰指针有以下的几种形式 ,不同的形式 它的意义不一样. 形式1: int a=23: const int *p=&a: a是int型,&a是int * ...
- 关于const修饰指针
const修饰指针,一般分为如下四种情况: int b = 500; const int *a = &b; //情况1 int const *a = &b // 2 ...
- C++ --const修饰指针
const修饰指针 1.const修饰指针 (常量指针)常量的指针 const int *p = &a; const修饰的是*p(表示内容为常量),不是p(指针) 指针指向的地址可以改,但指针 ...
- C++中使用const修饰指针
在本文中呢,主要讲解四个方面,即:常量数据的与否和常量指针的与否中const如何对指针进行修饰: 1.指向非常量数据的常量指针 对于一个指向非常量数据的常量指针,我们应该清楚的知道,在这我们注重的是指 ...
- const修饰指针的三种效果
当用const进行修饰时,根据const位置的不同有三种不同效果. 判断的标准是:const修饰谁,谁的内容就是不可变的. 1 const int *p = &a; const修饰*p, *p ...
- const修饰指针时应注意的问题
1.指向常量的指针 顾名思义,一个指针指向const对象,则称它为指向常量的指针. ; int* ptr=&a; //错误 const int* ptr=&a; //必须用const来 ...
- C++中const修饰基本数据类型、指针、引用、对象
const修饰基本数据类型 #include <iostream> using namespace std; void main(){ const int a = 1; const cha ...
- C++中的const和指针组合
在C++里,const修饰指针有以下三种情况 (1)指针常量:即指向常量的指针 const int *p或者int const *p const在*前,,可以这样理解它的功能,因为const在*前, ...
随机推荐
- rails byebug
Gemfile里添加 gem 'byebug' bundle install 在要打断点的地方写 byebug byebug -h #帮助 c 放行,入下走 n 单行调适 q 退出进行 启动异步任务推 ...
- Ubuntu更新源文件报错:E: 仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release” 没有 Release 文件。
E: 仓库 "http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release" 没有 Release 文件. 一条 ...
- vue3中404路由匹配规则
{ path: '/:pathMatch(.)', component: () => import('@/views/error/404.vue') },
- PageOffice6 实现 word 全文检索
在文档服务器中存储有成千上万个文档的情况下,用户想要找到并打开包含特定关键字的文档,无疑是一项艰巨的任务.如何高效地管理和检索大量的Word文档呢? 在现有的技术解决方案中,许多方法都依赖于服务器端的 ...
- 后台生成单个Word文档
在实际项目开发中经常会遇到一种场景,客户希望点击页面上的生成文件按钮,执行程序动态填充数据到Word模板,直接在后台生成Word文档,而无需显示Word文档.目前网上有一些针对此需求的方案,但每个方案 ...
- 干货 springcloud之 poenFeign的使用
PoenFeign集成到springcloud项目中 先创建一个springboot项目 这里就不多说了 application.yml文件: server: port: 8082spring: ap ...
- mysql,左连接 ,查询右表为null的写法,删除,带join条件的写法
select * from sale_guest sg left join sale_bill sbon sg.bill_id=sb.id where sg.gmt_create>'2023-1 ...
- 代码界的超级英雄:GitHub的奇幻冒险之旅
GitHub简介 GitHub是一个用于代码托管.版本控制和协作开发的平台.它于2008年2月8日由Chris Wanstrath.PJ Hyett和Tom Preston-Werner创立,目前由微 ...
- weak引用表原理探究
一.weak引用实现原理探究 首先对<Xcode 10 下如何调试objc4-723>建立的objc源码调试工程表示感谢! 地址:https://www.jianshu.com/p/9e0 ...
- 音视频学习-exceeded mem limit: ActiveHard 50 MB (fatal)
一.现象 ReplayKit2 适配中 UPLOAD进程被系统杀掉 日志中显示原因:exceeded mem limit: ActiveHard 50 MB (fatal) 二.内存占用分析 1)系统 ...