C++中的const究竟有什么好处呢?(必须干货)

简介: C++中的const究竟有什么好处呢?(必须干货)

今天,码神在开车时就想到了const,为什么我初学时感觉就没什么用呢?
秋名山一路下来,我感觉我悟了,顿悟,话不多说,开正题,C++——const
首先:const限定一个变量不允许被改变,产生静态作用,
我们看限定,这个词语,相应的可以想到它的好处就必然有提高程序的安全性和可靠性
所以说:

const int Max=100; 
Max++; //会产生错误

记住:const常量
如果大家看c++primer,可能还会看到:
尽可能的使用const:

  1. 使用const可以避免无意中修改数据的编译错误
  2. 使用const可以使函数既能处理const参数也能处理非const参数

还有就是const与指针的在一起的用法:

const和指针一起使用是C++语言中一个很常见的困惑之处,在实际开发中,特别是在看别人代码的时候,常常会因为这样而不好判断作者的意图,下面讲一下我的判断原则:
const只修饰其后的变量,至于const放在类型前还是类型后并没有区别。如:const int a和int const a都是修饰a为const。注意不是一种类型,如果pType之前是某类型,那么pType是指向该类型的指针
一个简单的判断方法:指针运算符,是从右到左,那么如:char const pContent,可以理解为char const ( pContent),即 pContent为const,而pContent则是可变的。

int    const *p=20;
//*p不可变,p可以变
const int *p=20;
//*p可以变,p不可变

大概就这么多吧,欢迎评论区补充!

相关文章
|
6月前
|
C++
C++中的const指针与const引用
C++中的const指针与const引用
73 2
|
6月前
|
编译器 C++
C++中的内联函数与const限定词的使用
C++中的内联函数与const限定词的使用
35 1
|
5月前
|
编译器 C++
【C++】类和对象④(类的默认成员函数:取地址及const取地址重载 )
本文探讨了C++中类的成员函数,特别是取地址及const取地址操作符重载,通常无需重载,但展示了如何自定义以适应特定需求。接着讨论了构造函数的重要性,尤其是使用初始化列表来高效地初始化类的成员,包括对象成员、引用和const成员。初始化列表确保在对象创建时正确赋值,并遵循特定的执行顺序。
|
5月前
|
编译器 C++
【C++】:const成员,取地址及const取地址操作符重载
【C++】:const成员,取地址及const取地址操作符重载
39 0
|
6月前
|
编译器 C语言 C++
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)(下)
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)
24 1
|
6月前
|
编译器 C++
【C++】类与对象(运算符重载、const成员、取地址重载)
【C++】类与对象(运算符重载、const成员、取地址重载)
42 2
|
6月前
|
编译器 C++
【C++】【C++的常变量取地址问题(对比C的不同)】const修饰的常变量&volatile修饰用法详解(代码演示)
【C++】【C++的常变量取地址问题(对比C的不同)】const修饰的常变量&volatile修饰用法详解(代码演示)
|
6月前
|
编译器 C语言 C++
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)(中)
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)
26 0
|
6月前
|
编译器 C语言 C++
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)(上)
从C语言到C++⑤(第二章_类和对象_中篇)(6个默认成员函数+运算符重载+const成员)
22 0