首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

const关键字总结

const关键字const修饰的变量是不能改变的 const修饰变量时,必须在声明变量的同时给出初始化(类中的const成员变量不一样) 顶层const与底层const 顶层const 定义为变量本身是一个常量...,因此对一切的内置类型常量而言,所有的const都是顶层const 对指针来说,常量指针是顶层const,对于引用则没有顶层const的概念。...底层const 只在指针和引用上有效,其定义是该指针指向或该引用绑定的对象是常量。 因此:顶层const和底层const,引用只有底层const。...c = &b; //错误,顶层const指针不能修改指针的指向 b = c; //底层const指针可以指向顶层const指针(顶层const可以赋值给底层const) c = b; //底层...const指针不可以赋值给顶层const指针 const int& e = a; //引用的底层const e = 1000; //错误,引用的底层const不能修改值 const int*

57210

【C语言】const 关键字

126﹣总榜960⇿全网访问量30w+ 本文由 謓泽 原创 CSDN首发如需转载还请通知⚠ 个人主页-謓泽的博客_CSDN博客  欢迎各位→点赞 + 收藏⭐️ + 留言​ 系列专栏-【C语言】关键字...⒊注意 ⇨ 在数组当中的下标我们是不能使用 const 修饰的量的,可以说被修饰 const 其实本质还是个变量。...[const]修饰数组⇢在C语言中 const 还可以修饰数组,示例代码如下 const int Array[] = {1,2,3,4,5,6,7,8,9,10}; int const Array[]...= {1,2,3,4,5,6,7,8,9,10}; 说明⇢在 const 关键字修饰数组与修饰变量类似的,表名了此数组只能具有只读性,不可以被修改。...说明⇢说明⇢第一种[const]修饰指针以及第二种[const]修饰指针的话,我会更加推荐第一种写法。

47220
您找到你想要的搜索结果了吗?
是的
没有找到

【C++】const关键字

【C++】const关键字 0x1 常量 C++定义常量有两种方式 #define 宏常量:#define 常量名 常量值 通常在文件上方定义,表示一个常量 宏常量不可以修改 // 宏常量 #define...MAX 999 int main() { return 0; } const修饰的变量: const 数据类型 常量名 = 常量值 通常在变量定义前加关键字const,修饰该变量为常量,不可修改...0x5 const修饰成员函数 0x51 常函数 成员函数后加const后我们称为这个函数为常函数 常函数内不可以修改成员属性 成员属性声明时加关键字mutable后,在常函数中依然可以修改 // /...Person * const this;指针的指向,以及指针指向的值都不可以修改 */ this->m_B = 100; // 正确,因为加上了mutable关键字...{ // m_A = 100; // 错误,函数加上了const,属性不可以修改 this->m_B = 100; // 正确,因为加上了mutable关键字

43030

const关键字应用总结

C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的...1 概述 C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,通过查阅资料,将const作用归纳如下: 可以定义const常量 const int Max = 10; 便于进行类型检查...char* const pContent;` 还有其中区别方法,沿着号划一条线 如果const位于的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;如果const位于*的右侧,const...原因如下: 如果返回值为某个对象为constconst A test = A 实例)或某个对象的引用为constconst A& test = A实例),则返回值具有const属性,返回实例只能访问类...} 对于const类对象/指针/引用,只能调用类的const成员函数,因此,const修饰成员函数的最重要作用就是限制对于const对象的使用。

49010

AboutCPlusPlus之const关键字

const int a = 5; int const b = 5; const int arr1[3] = {1,2,3}; int const arr2[3] = {1,2,3}; 来看一些对 const...引用 const int &c = a; // 正确 int *d = &a; // 错误:不能为 const 变量绑定指向 non-const 的指针 const int *e = &a; //...修饰指针变量 const 修饰指针变量有三种情况: 2.1 const 修饰指针指向的内容,则内容为不可变量 const int *p = 8; const 修饰指针内容,即 *p 的值不可变,只能为...修饰类的成员函数,表示该成员函数不能修改类中的任何非 const 成员变量,一般 const 卸载函数的后面,比如 void func() const;。...如果有个成员函数想修改对象中的某一个成员变量,可以使用 mutable 关键字修饰这个成员变量: #include using namespace std; class Test {

53630

const 关键字的学习

一、const 修饰普通类型的变量 const int a = 7; int b = a; // 正确 a = 8; // 错误,不能改变 a 被定义为一个常量,并且可以将 a 赋值给...二、const 修饰指针变量 1. const 修饰指针指向的内容,则内容为不可变量 const int *p = 8; 指针指向的内容 8 不可改变。...简称左定值,因为 const 位于 * 号的左边 2. const 修饰指针,则指针为不可变量 int a = 8; int* const p = &a; *p = 9; // 正确 int b =...因为 const 位于 * 号的右边 3. const 修饰指针和指针指向的内容,则指针和指针指向的内容都为不可变量 int a = 8; const int * const p = &a; 这时,const...值传递的 const 修饰传递,一般这种情况不需要 const 修饰,因为函数会自动产生临时变量复制实参值 #include using namespace std; void

19430

面试爱问之const关键字

const基本介绍 const是constant的简写,用来定义常量,如果一个变量被const修饰,那么它的值就不能再被改变。...#include #include const int a = 10; //const修饰的全局变量放在常量区 //1.const修饰的全局变量,即使语法通过...如果const在星号的左边,则为常量指针 如果const在星号的右边则为指针常量 如果我们将星号读作‘指针’,将const读作‘常量’的话,内容正好符合。...代码示例: //第一种,常量指针 const int *p1; //p本身不是const的,而p指向的变量是const int const *p2; //p本身不是const的,而p...//第三种 const int* const p4; //p本身是const的,而p指向的变量也是const 是以上两种的结合,指针指向的位置不能改变并且也不能通过这个指针改变变量的值,

16720

C语言: const关键字与指针

const修饰指针的4种形式 const关键字,在C语言中用来修饰变量,表示这个变量是常量。 const修饰指针有4种形式,区分清楚这4种即可全部理解const和指针。...第一种:const int *p; 第二种:int const *p; 第三种:int * const p; 第四种:const int * const p; // 第一种 const int...int * const p3; // p本身是cosnt的,p指向的变量不是const的 // 第四种 const int * const p4;// p本身是cosnt的,p指向的变量也是const...一个const关键字只能修饰一个变量,所以弄清楚这4个表达式的关键就是搞清楚const放在某个位置是修饰谁的 const修饰的变量真的不能改吗?...const究竟应该怎么用 const是在编译器中实现的,编译时检查,并非不能骗过。

56310

static const volatile __weak关键字解析

这篇文章较为基础,笔者在这里写下来作为对以前知识的一个回顾 static 对于 static 关键字来讲,它既可以用来修饰变量同时也可以用来修饰函数,而变量从大的方向上来讲又分为局部变量和全局变量,static...修饰一般变量和数组 使用 const 修饰一些一般的变量或者是数组时可以采用如下的方式: int const i = 2; const int i = 2; 虽然上述的写法不一样,但是其意义是完全一致的...修饰指针 在修饰指针的时候,有如下四种方式: const int *ptr;/*ptr可变,ptr指向的对象不可变*/ int const *ptr;/*意义与上述一致*/ int *const ptr...笔者最开始注意到这个关键字是在使用 STM32 HAL 库的时候注意到的,比如如下这张图片所示: ?...总结 合理地使用关键字修饰函数或者变量,能够帮助我们写出更加稳定和更加健壮的代码,应该充分理解每个关键字具体的含义。

28410

const关键字到底该什么用

前言 我们都知道使用const关键字限定一个变量为只读,但它是真正意义上的只读吗?实际中又该如何使用const关键字?在解答这些问题之前,我们需要先理解const关键字的基本使用。...本文说明C中的const关键字,不包括C++。 基本介绍 const是constant的简写,是不变的意思。但并不是说它修饰常量,而是说它限定一个变量为只读。...const关键字到底该怎么用?...总结 介绍了这么多,关键点如下: const关键字让编译器帮助我们发现变量不该被修改却被意外修改的错误。 const关键字修饰的变量并非真正意义完完全全的只读。...虽然可以通过某种不正规途径修改const修饰的变量,但是永远不要这么做。 思考 与#define相比,const有什么优点? const关键字到底该什么时候用?

55720

define与const关键字的多种用法

const 在C++中,const 是一个关键字,用来修饰的内容不可变。...2. const 以下是几种const关键字的用法: 1. 定义常变量 2. 定义常量指针 3. 用来指向常量的指针 4. 定义常量成员函数 5. 定义常量引用参数 6....{ public: void SomeFunction() const { // 不能修改成员变量 } }; 在类中,成员函数声明中的const关键字表示该函数是一个常量成员函数...2.6 定义常量引用参数 void MyFunction(const int& value) { // 不能修改传入的参数 } 函数参数前的const关键字表示传入的参数是一个常量引用,函数内部不能修改这个参数的值...const无法代替宏作为卫哨来防止文件的重复包含 2. const int *a, int const *a, const int a, int *const a, const int *const

6210

C语言关键字详解(四)带你全面了解 const 关键字

目录 一、前言 二、const 关键字 1、const 关键字总体阐述 2、const 修饰变量 3、const 修饰数组 4、const 修饰指针 5、const 修饰函数 三、总结 一、前言 大家好...,欢迎来到C语言深度解析专栏—C语言关键字详解第四篇,在本篇中我们将会介绍C语言当中的另一个重要的关键字 const ,此关键字在面试中经常被问到,希望大家能够对它有一个全面的了解 二、const...关键字 1、const 关键字总体阐述 const 是 constant 的缩写,是恒定不变的意思,也翻译为常量、常数等。...const 推出的初始目的,正是为了取代预编译指令,消除它的缺点,同时继承它的优点(define 不是关键字)。...说明我们将来很有可能 会通过a的地址来访问a,所以为了避免后面造成非法访问或者访问数据丢失,我们用static来修饰它,延长它的生命周期,使a变量在整个程序运行期间都有效(static的具体用法及细节在我关键字详解二中有讲

39400

Dart 点将台 | const 关键字知多少

1.对 const 的认知 80% 的人对 const 的认知,只停留在 const 修饰的量不可以被修改,这一条。 甚至有些人对什么时候可以用 const 修饰还比较模糊。...2.何时何处可以用 const 修饰 下面先看一下,什么时候能用 const,什么时候不能用 const。如下 Person 类中有一个 name 成员。...复制代码 既然提示说,想要 const 修饰对象,其对应构造需要为 const,那就在构造前加个 const 呗。这时你会发现上面的声明不飘红了,但下面的 const 修饰的构造方法飘红了。...复制代码 总结一下 const 可修饰的位置:在声明变量时,可以将 const 放在前面,也可以将 const 放在等号后,修饰构造函数;const 可作为修饰符,修饰构造函数。...同理这里 Text 也无法使用 const 修饰,所以,只能将 const 给 EdgeInsets.all(8.0) 修饰。也就是说,能用 const 修饰的尽量用 const 修饰。

55720

4.C++程序设计——const关键字

1.定义常量 const int MAX_VAL = 23; const double Pi = 3.14; 2.定义常量指针 不可通过常量指针修改其指向的内容 int n,m; const int *...p = &n; *p = 5; //编译错误 n = 4; //正确 p = &m; //正确,可以改变常量指针指向的对象 不能把常量指针赋值给非常量指针,反过来可以 const int * p1; int...p2;//正确 p2 = p1;//错误 p2 = (int *)p1;//正确,通过强制类型转换 函数参数为常量指针时,可避免函数内部不小心改变参数指针所指地方的内容 void MyPrintf(const...char *p) { strcpy(p,"this");//编译错误 printf("%s",p);//正确 } //strcpy()第一个参数类型是char* ,相当于把 const char...3.定义常引用 不能通过常引用修改其引用的变量 int n; const int & r = n; r = 5;//编译错误 n = 4;//正确

24010

C语言中const关键字的妙用总结

学习了多年的C语言,你对const关键字的使用全都掌握了吗?在编程实践中你对const的使用是否有困惑呢?今天就给大家一起来探讨总结,期望能够大家解惑并提供参考。...C语言中const关键字是constant的缩写,通常翻译为常量、常数等,有些朋友一看到const关键字马上就想到了常量。事实上在C语言中const功能很强大,它可以修饰变量、数组、指针、函数参数等。...定义形式也可以写成int const i=5,同样正确。...此外,const修饰变量还起到了节约空间的目的,通常编译器并不给普通const只读变量分配空间,而是将它们保存到符号表中,无需读写内存操作,程序执行效率也会提高。...4、 修饰函数参数const关键字修饰函数参数,对参数起限定作用,防止其在函数内部被修改。所限定的函数参数可以是普通变量,也可以是指针变量。

1.1K20

【面试宝典】C++中const关键字的用法

对于刚毕业的应届生来说面试中经常被问到const关键字的用法,小编在这里为大家总结如下: 修饰常量 用const修饰的变量某种意义上就是常量,编译器会对它进行必要的操作比宏定义多了类型修饰符。...修饰指针 (1)const int *p; p指针const int的指针,不能用赋值语句对*p赋值,但是可以对p赋值。 (2)int* const p=&j; p是指向int的const指针。...p是const数据,所以其本身不可改变,而*p可以被赋值。 (3)const int * const p=&i; p是一个const指针,其指向const数据i。p、*p都不能再被赋值。...放在参数前修饰参数表示该参数必须保持其常量性,不能在函数体内被修改; (2)类成员函数 放在类成员函数尾部,表示其在函数内并不修改对象的属性,只是读取等操作非更易型操作 修饰类对象 当类的对象被声明为const...类型后,它只能调用用const修改的成员函数。

72750
领券