为了账号安全,请及时绑定邮箱和手机立即绑定

可以帮忙解释以下关于在C++中的const的用法?

可以帮忙解释以下关于在C++中的const的用法?

C++
倚天杖 2021-06-10 11:07:18
本人对C++中的const的用法有很大问题,因为const老是加到类啊,函数啊,变量啊之类的,把我搞得晕头转向了,有哪位高手能指点下啊,不胜感激
查看完整描述

2 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

我来说一下,具体原因应该是这个,常变量在定义的时候必须初始化,所以当你在a.cpp中定义extern const double pi=3.14; b.pp中extern const double pi;可以通过编译运行。因为当编译系统发现a.cpp中的全局常变量时,就知道它pi是常量,而换过来的时候,在a.cpp中定义const double pi=3.14; b.pp中extern const double pi;编译系统在编译a.cpp是没有问题的,但到了b.cpp中就会发现,有一个外部常量是没有初始化的,而常量是不能在声明后再进行定义的,所以编译系统会认为找不到它的定义,所以就出错。
对于extern "C"主要是因为c和c++编译器不同,它们对相同的函数名编译后生成的相同的标示不同,故而在引用c的库文件时必须使用extern “C”告诉编译器,它是c的函数,按c的规则编译。通常我们使用的标准头文件已被处理过。 貌似没有用于常量的声明。

查看完整回答
反对 回复 2021-06-15
  • 2 回答
  • 0 关注
  • 197 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信