一级棒(Eachfun)
偷猫的个人主页
变量初始化
发表时间:2006-06-23 21:30:00 关键词:C++,MFC,VC,Primer,编程,教程,读书

  int ival(1024);//直接初始化
  int ival = 1024;//复制初始化
  以前的我常用第二种用法,原因很简单:从来没见过第一种用法。直到后来学习了林锐博士的《高质量C/C++编程指南》。
  那本书在讲类的构造时说道:CMyClass b = a;这种形式看起来像赋值,实际上调用的是拷贝构造函数。
  那本书给我的感觉仅仅停留在类变量的初始化中,一直没有过渡到内置变量类型。直到后来,我在用VC++.NET的向导功能编程序时,才发现向导帮我产生了类似于“int i(100);”这种语法来初始化。
  本书重点强调:初始化不是赋值,
  引用:当定义没有初始化的变量时,系统有时候会帮我们初始化变量。这时,系统提供什么样的值取决于变量的类型,也取决于变量定义的位置。……内置类型变量是否初始化取决于变量定义的位置。在函数体外定义的变量都初始化为0,在函数体内定义的内置类型变量不进行自动初始化。……(类类型)通过定义一个特殊的构造函数即默认构造函数来实现的。这个构造函数被称作默认构造函数,是因为它是“默认”运行的。……不管变量在哪里定义,默认构造函数都会被使用。
  笔记:林锐博士的《高质量C/C++编程指南》中说,如果类没有定义无参数构造函数或拷贝构造函数,系统会自动产生这两个构造函数,它们采用最简单的“值传递”和“位拷贝”来完成构造。

本站特约顾问律师常州东晟律师事务所朱立律师(电话13915029670,QQ646146109)提醒您:
本站文章皆为作者原创,其它媒体(包括但不限于报刊、杂志、网站、电视、电台)未经作者书面许可严禁转载(或部分摘录)!
相关评论
  • 竟然会去看林博士的书?书太多太滥了,除了Lippman,斯特劳斯特鲁普,Mayer等人的书,谁还敢称会点C++,当然也是有的,谢谢侯捷,他算半个。。。
    person安安 link未填 QQ未填 email未填 时间:2008-06-09 21:22:00
1
发表评论
称呼:
QQ:
邮箱:
链接:
内容:
搜索: 百度搜索 Google搜索
Copyright©2000 - 2011 Eachfun.Com, All Rights Reserved 一级棒网络
备案号忘了带来
一级棒建站系统 http://www.eachfun.com 一级棒版权所有,未经许可不得商用!