1.4 C++常量

在C++中,常量是指其值无法被程序修改的标识符或数值。C++中有多种方式来定义常量,本文介绍以下常量定义方式:字面常量、const修饰符和宏常量。


1.4.1 字面常量

  • 整型常量:可以用十进制、十六进制或八进制表示,例如 420x2A052
  • 浮点数常量:包括普通的浮点数表示,例如 3.14;还有指数形式,例如 6.02e23
  • 字符常量:用单引号括起来的单个字符,例如  `a`
  • 字符串常量:由双引号括起来的一串字符,例如 "Hello, World!"

1.4.2 宏常量

宏常量通常使用 #define 预处理指令来定义,它在编译之前进行文本替换。

定义一个宏常量示例如下:

#define PI 3.14159
  • 优点

    • 由于是简单的文本替换,因此可以用于各种值,包括函数、表达式等。
    • 不占用内存,没有类型限制。
  • 缺点

    • 可能会引发意外的错误,因为它只是简单地进行文本替换,可能存在副作用。
    • 不受作用域控制,无法限定宏的可见范围。

1.4.3 const 关键字

const关键字用于创建用于表示不可变数据的变量。其定义如下:

const double PI = 3.14159;
  • 优点

    • 类型安全:const关键字定义的常量具有明确定义的类型,不会出现一些通过宏定义带来的类型错误。
    • 受作用域控制:常量遵循其定义所属的作用域,可以有效限制常量的可见范围。
  • 缺点

    • 对于较大的结构或类对象而言,可能会产生额外的开销,因为需要在内存中保存其值。

建议

  • 在C++中,建议优先使用const关键字创建常量,以获得更多类型检查的益处,并将常量的作用域限定在所需范围内。
  • 宏常量更适合于一些特殊情况,比如在头文件中定义常量或者创建复杂的文本替换操作。
  • 11
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值