21-C++基础-const限定符

本文介绍了C++中使用const关键字定义符号常量的方法及优势,包括如何声明、初始化及遵守编码规范。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >







 3.2 const限定符
  现在回过头来介绍常量的符号名称。符号名称指出了常量表示的内容。另外,如果程序在多个地方使用同个常量,则需要修改该常量时,只需修改一个符号定义即可。本章前面关于#define语句的说明(旁注“符号常量-预处理器方法")指出过,C++有一种更好的处理符号常量的方法,这种方法就是使用const关键字来修改变量声明和初始化。例如,假设需要一个表示一年中月份数的符号常量,请在程序中输入下面这行代码:
  const int Months= 12;// Months is symbolic constant for 12
  这样,便可以在程序中使用Months,而不是12了(在程序中,12可能表示一英尺有多少英寸或打面包圈是多少个,而名称Months指出了值12表示的是什么)。常量(如Months)被初始化后,其值就被定了,编译器将不允许再修改该常量的值。如果您这样做,g++将指出程序试图给一个只读变量赋值。关键字const叫做限定符,因为它限定了声明的含义。
  一种常见的做法是将名称的首字母大写,以提醒您Months是个常量。这决不是一种通用约定,但在阅读程序时有助于区分常量和变量。另一种约定是将整个名称大写,使用#define创建常量时通常使用这种约定。还有一种约定是以字母k打头,如kmonths,当然,还有其他约定。很多组织都有特殊的编码约定,要求其程序员遵守。
  创建常量的通用格式如下:
  const type name = value;
  注意,应在声明中对const进行初始化。下面的代码不好:
  const int toes;// value of toes undefined at this point
  toes= 10;// too late!
  如果在声明常量时没有提供值,则该常量的值将是不确定的,且无法修改。
  如果以前使用过C语言,您可能觉得前面讨论的#define语句已经足够完成这样的工作了。但const比#defien好。首先,它能够明确指定类型。其次,可以使用C++的作用域规则将定义限制在特定的函数或文件中(作用域规则描述了名称在各种模块中的可知程度,将在第9章讨论)。第三,可以将const用于更复杂的类型,如第4章将介绍的数组和结构。
提示:如果读者在学习C+之前学习过C语言,并打算使用#define来定义符号常量,请不要这样做,而应使用const.





























































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值