我是靠谱客的博主 柔弱跳跳糖,这篇文章主要介绍const关键字在C++中的几种常见用法(一)一、const限定符二、const和指针,现在分享给大家,希望可以做个参考。

#const关键字在C++中的几种常见用法

一、const限定符

使用const限定符来修改变量声明和初始化。const修饰的符号名称指出了常量表示的内容,常量被初始化后,其值就固定了,编译器将不允许再修改该常量的值。关键字const叫做限定符,因为它限定了声明的含义。
注意:如果在声明常量时没有提供值,则该常量的值将是不确定的,且无法修改!

复制代码
1
2
3
4
5
6
//格式 const type name = value; //示例 const int year = 2022;

二、const和指针

将const关键字用于指针主要以下两种:
1、让指针指向一个常量对象。这样做可以防止使用该指针来修改所指向的值。
2、将指针本身声明为常量。这样做可以防止改变指针指向的位置。
下面我们来看实现中的细节。

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//1、让指针指向一个常量对象。 //首先声明一个指向该常量的指针pt int year = 2022; const int *p = &year; //该声明指出*p的值为const(常量,这里为2022),不能被修改。 //注意:p的声明并不意味着它指向的值实际上就是一个常量,只是说对p而言,这个值是个常量。在这里也就是说:p指向year,而year不是const的。 //因此可以通过修改year变量来修改age的值,但不能只用p指针来修改。 //比如我们修改year为2023 year = 2023; //or year += 1; 合法操作 *pt =2023; //非法操作 //还有一种情况就是将const变量的地址赋给指向const的指针 //该情况既不能通过second来修改值2.50,也无法通过ps来修改 const double second = 2.50; const double *ps = &second;

将指针参数声明为指向常量数据的指针的两个原因:

  • 这样可以避免由于无意间修改数据而导致的编程错误。
  • 使用const使得函数能够处理const和非const实参,否则将只能接受非const数据。
    如果条件允许,则应将指针形参声明为指向const的指针。
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//2、使用const的方式使得无法修改指针的值 int month = 12; const int *ps = &month; //一个const int型的指针(a.) int * const mm = &month; //一个int型的常量指针(b.) //中间的声明不允许使用ps来修改month的值,但允许将ps指向另一个位置。 //最后的声明使mm只能指向month,但允许使用mm来修改month的值。 //a. int peach = 10; int pear = 20; const int *ps = &peach; ps = &pear; //ps可以指向另一个变量 //b. int peach = 10; int pear = 20; int * const ps = &peach; *ps = 20; //ps可以用来修改值

最后

以上就是柔弱跳跳糖最近收集整理的关于const关键字在C++中的几种常见用法(一)一、const限定符二、const和指针的全部内容,更多相关const关键字在C++中内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(92)

评论列表共有 0 条评论

立即
投稿
返回
顶部