首页 > 编程语言 > 详细

C++中的变量初始化

时间:2016-02-22 15:36:44      阅读:213      评论:0      收藏:0      [点我收藏+]

  如果定义变量时没有指定初始值,则变量被默认初始化,此时变量被赋予了“默认值”。默认值到底是什么由变量类型决定,同时定义变量的位置也会对此有影响。

 

  如果是内置类型的变量未被显式初始化,它的值由定义的位置觉得。定义于任何函数体之外的变量被初始化为0。一种例外情况是,定义在函数体内部的内置类型变量将不被初始化。一个未被初始化的内置类型变量的值是未定义的,如果试图拷贝或以其他形式访问此类值将引发错误。

 

  每个类各自决定其初始化对象的方式。而且,是否允许未经初始化就定义对象也由类自己决定。如果类允许这种行为,它将决定对象的初始值到底是什么。

 

  绝大多数类都支持无须显式初始化而定义对象,这样的类提供了一个合适的默认值。例如,string类规定如果没有指定初值则生成一个空串:

  std::string empty;

  一些类要求每个对象都显式初始化,此时如果创建了一个该类的对象而未对其做明确的初始化操作,将引发错误。

  定义于函数体内的内置类型的对象如果没有初始化,则其值未定义。类的对象如果没有显式地初始化,则其值由类确定。

C++中的变量初始化

原文:http://www.cnblogs.com/csudanli/p/5207091.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!