谈下自己认识的c++常识!

字面常量
文字常量是文字数字插入代码。他们是常量,因为你不能改变他们的价值观。
int x = 5; // 5 is a literal constant


文字常量可以有后缀,确定其类型。整型常量可以有你或你的后缀,意味着他们是无符号的。整型常量也可以有一个l或l后缀,这意味着他们是长整数。然而,这些后缀通常是可选的,因为编译器通常可以从上下文告诉你需要什么类型的常数。
unsigned int nValue = 5u; // unsigned constant
long nValue2 = 5L; // long constant


默认情况下,浮点文字常量有类型的双。将它们转换成一个浮动值,f和f可以使用后缀:
float fValue = 5.0f; // float constant


浮点字面常量也可以使用l或l后缀使他们长双打。
一般来说,这是一个好主意,试图避免使用字面常量,不是0或1。更多的细节,你可以回顾部分,以及为什么他们魔法数字是一个糟糕的主意。
符号常量
当你学会在之前的教训,你可以使用# define预处理指令来声明一个符号常量:
#define YEN_PER_DOLLAR  122
int nYen = nDollars * YEN_PER_DOLLAR;


的主要问题有两个符号常量声明使用#定义。首先,因为他们解决了预处理,替换符号名称与定义,定义符号常量值#并未出现在调试器。因此,如果你只看到声明int nYen = nDollars *日圆兑美元;,你将不得不去寻找#定义声明为了找出日元兑换1美元的价值是使用。
第二,#定义值总是有全球范围(我们将谈论在部分在本地和全局变量)。这意味着一个值#定义在一块代码可能有一个命名冲突值#定义名称相同的另一段代码。
一个更好的方法来做符号常量是通过使用const关键字。常量变量必须分配一个值声明时,那么这个值不能被改变。这是上面提到的代码片段应该写:
const int nYenPerDollar = 122;
int nYen = nDollars * nYenPerDollar;


声明一个变量,常量阻止我们无意中改变它的值:
const int nYenPerDollar = 122;
nYenPerDollar = 123; // compiler error!


尽管一个常数变量似乎是一种矛盾的说法,他们可以是非常有用的在帮助文档代码和避免幻数。有些程序员喜欢使用所有大写名称常量变量(风格与#定义值)。然而,我们将使用正常的变量命名约定,这更常见。常量变量法就像正常的变量在所有情况下,他们除了不能分配。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值