设为首页 加入收藏

TOP

3.5 赋值和初始化
2013-10-07 12:56:45 来源: 作者: 【 】 浏览:70
Tags:3.5 初始

3.5 赋值和初始化

在很多方面, 最有趣的操作符是赋值, 表示为=。它为一个变量赋予一个新的值。例如:

 
 

最后一次赋值需要注意。首先, 很明显=并不意味着等于, a不等于a+7。它意味着赋值, 也就是将一个新的值赋予一个变量。a=a+7所做的事如下:

1) 首先, 得到a的值, 这里是整数4。

2) 其次, 将7和4相加, 得到整数11。

3) 最后, 将整数11赋予a。

我们也可以通过字符串来说明赋值:

 

以上, 我们使用“以…开始”和“获得”来区别两种相似的操作, 但两者在逻辑上是有区别的:

初始化(给一个变量它的初值)。

赋值(给一个变量一个新的值)。

这些操作是如此相似, 因此C++(www.cppentry.com)允许我们对它们使用相同的符号(=):

 
但是, 赋值和初始化在逻辑上是不同的。你可以通过类型描述(如int或string)来区分它们, 初始化总是从类型描述开始, 而赋值并不需要这样做。从原则上来说, 初始化时变量总是空的。另一方面, 赋值在放入一个新的值之前, 首先必须将旧的值清空。你可以将变量看做是一种小的盒子, 值是一个可以放入其中的具体东西(例如一枚硬币)。在初始化之前盒子是空的, 但是在初始化之后它总是包含一枚硬币, 因此为了在里面放入一枚新的硬币, 你(即赋值操作符)首先需要移走旧的东西(“销毁旧的值”), 而且你不能留下一个空盒子(必须赋予一个值)。在计算机内存中并不完全如此, 但是它对于我们理解后面的内容没有坏处。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇3.6 组合赋值运算符 下一篇3.6.1 实例: 重复单词统计

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: