gpt4 book ai didi

C语言中const和C++中的const 区别详解

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C语言中const和C++中的const 区别详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

C语言中const和C++中的const 区别详解 。

C++的const和C语言的#define都可以用来定义常量,二者是有区别的,const是有数据类型的常量,而宏常量没有,编译器可以对前者进行静态类型安全检查,对后者仅是字符替换,没有类型安全检查.

而C语言中的const与C++也有很大的不同,在C语言中用const修饰的变量仍是一个变量,表示这个变量是只读的,不可显示地更改,而在C++中用const修饰过后,就变成常量了。例如下面的代码:

?
1
2
const int n=10;
int a[n];

这两行代码在C语言中会报错,因为声明数组时的数组长度必须是常量,而这里面的n在C语言中是变量。而在C++中用const修饰过后,n就已经等同于一个常量了,因此可以通过.

再看下面的代码:

?
1
2
3
const int a=3;
int * p=&a;
*p=4;

这种情况在C++中是不允许的,原因在于a用const修饰后,已经成为常量了,因此是不允许被修改的,无论是显式的更改a的值或是通过其它方法修改它的值都是不允许的.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 。

原文链接:http://blog.csdn.net/u011421608/article/details/43971877 。

最后此篇关于C语言中const和C++中的const 区别详解的文章就讲到这里了,如果你想了解更多关于C语言中const和C++中的const 区别详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com