码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-05-07 23:48:09      阅读:252      评论:0      收藏:0      [点我收藏+]

标签:jpg   技术   不能   ++   原创   bsp   class   而不是   数组下标   


 

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

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


 

 

程序一:

我们知道数组的下标不能为变量,必须是一个确定的值。在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修饰的是一个真正的常量

标签:jpg   技术   不能   ++   原创   bsp   class   而不是   数组下标   

原文地址:https://www.cnblogs.com/tyyhmtyyhm/p/9005695.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!