C++笔记019:C++中的const修饰的是一个真正的常量

Posted tyyhmtyyhm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++笔记019:C++中的const修饰的是一个真正的常量相关的知识,希望对你有一定的参考价值。


原创笔记,转载请注明出处!

点击【关注】,关注也是一种美德~


 

 

程序一:

我们知道数组的下标不能为变量,必须是一个确定的值。在C语言中看程序:

#define a 10

int main()

{

//第一部分

int c=20;

int d=10;

int arr[c+d];

 

//第二部分

//int const a=20;

//int const b=10;

//int arr[a+b];

 

return 0;

}

理所当然的编译错误,因为数组下标不能是变量。

在C++中看相同的程序。在C++中这点没有区别,数组下标不能为变量。同样会编译错误。

 

 

程序二

继续在C语言中看程序修改:

//#define a 10

int main()

{

//第一部分

//int c=20;

//int d=10;

//int arr[c+d];

 

//第二部分

int const a=20;

int const b=10;

int arr[a+b];

 

return 0;

}

 

发现编译错误!错误原因跟修改前一致!

也就是说:C语言中const定义的a、b实质并不是常量!还是变量所以称之为“常变量

在C++中看相同的程序:

int main()

{

//第一部分

//int c=20;

//int d=10;

//int arr[c+d];

 

//第二部分

int const a=20;

int const b=10;

int arr[a+b];

 

return 0;

}

 

编译通过!!!

结论

C++中的const修饰的是一个真正的常量而不是C中变量(只读。C++中在const修饰的常量编译期间,就已经确定下来了。

 

 


原创笔记,转载请注明出处!

更多精彩请关注微信公众号:依法编程


 

 

 

以上是关于C++笔记019:C++中的const修饰的是一个真正的常量的主要内容,如果未能解决你的问题,请参考以下文章

c++学习笔记2--constexpr,类型别名,auto

C++总结体会

《挑战30天C++入门极限》入门教程:C++中的const限定修饰符

C++ 学习笔记:C++ 中 Volatile 变量学习

C++ | const修饰的变量

算法笔记 C++中const和auto的那些事 HERODING的算法之路