QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2210|回复: 1
打印 上一主题 下一主题

[教程] c++变量初始化规则

[复制链接]
字体大小: 正常 放大

2620

主题

162

听众

1万

积分

升级  0%

  • TA的每日心情
    开心
    2015-3-12 15:35
  • 签到天数: 207 天

    [LV.7]常住居民III

    社区QQ达人 发帖功臣 新人进步奖 优秀斑竹奖 金点子奖 原创写作奖 最具活力勋章 助人为乐奖 风雨历程奖

    群组: 第六届国赛赛前冲刺培

    群组: 国赛讨论

    群组: 2014美赛讨论

    群组: 2014研究生数学建模竞

    群组: 数学中国试看培训视频

    跳转到指定楼层
    1#
    发表于 2014-7-22 10:09 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    [教程] c++变量初始化规则
    , E2 n1 s! w( ?( e- l4 S5 `在c++中,当定义没有初始化的变量时,系统有时候会帮我们初始化这些变量。这时,系统提供什么样的值取决于变量的类型,也取决于变量定义的位置。" M3 v  m$ e( Q; Q; k7 |/ `* Z
    , c1 P1 M; j+ g
    1、内置类型变量的初始化
    + ~0 P: ~% k: o- y+ m9 n( x) j1 R1 y8 r- s5 a* a% N
    内置变量是否自动初始化取决于变量定义的位置。在函数体外定义的变量都初始化为0,在函数体内定义的内置变量不进行自动初始化。5 I7 X! B& q" p- B

    3 d4 m4 Q$ G) e% _除了用作赋值操作符的左操作数,未初始化的变量用作任何其他用途都是没有定义的,未初始化引起的错误难以发现。; z) B' G0 T3 l/ E% M4 @6 ]9 m# r

    7 i# `# h" e3 F* r; Q7 G- e- f: ?6 C2、类类型变量的初始化
    ( l/ [; l7 e8 [; s) o; k; Z+ S8 e& G+ Q2 j1 ^& p/ ?3 t1 v; u1 z% B
    每个类都定义了该类型的对象可以怎样初始。类通过定义一个或多个构造函数来控制类对象的初始化。例如我们知道string类至少提供了两个构造函数,其中一个允许我们通过字符串字面值初始化string对象,另外一个允许通过字符和计数器初始化string对象。
    ! k/ D& f  N3 @% ]8 D2 d4 v3 E- n! v. |; Z( r  R
    如果某个类的变量时没有提供初始式,这个类也可以定义初始化时的操作数。它通过定义一个特殊的构造函数,即默认构造函数来实现。这个够战术之所以成为默认构造函数,是因为它是“默认运行”的。如果没有提供初始化式,那么就会使用默认构造函数。不管类变量在哪里定义,默认构造函数都会并使用。
    1 d2 p3 s2 i( R( d9 m" m& v7 P% z; B( G
    大多数类都提供了默认构造函数。如果类具有默认构造函数,那么就可以在定义该类的变量时不用显示的初始化变量。例如,string类定义默认构造函数来初始化string变量为空字符串,即没有字符的字符串。
    + V: q/ h6 }) H) l* `  b  L9 G
    游客,如果您要查看本帖隐藏内容请回复
    ! s4 e+ i, l! H# @
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信

    0

    主题

    7

    听众

    705

    积分

    升级  26.25%

  • TA的每日心情
    怒
    2017-5-7 16:58
  • 签到天数: 366 天

    [LV.9]以坛为家II

    邮箱绑定达人 社区QQ达人

    群组: 2012HIMCM培训群组

    群组: 第四届数学中国美赛实

    群组: 第三届数模基础实训

    群组: 高数系列公益培训

    群组: 物联网工程师培训

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    fastpost qq
    收缩
    • 电话咨询

    • 04714969085

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2026-11-1 02:02 , Processed in 0.206912 second(s), 56 queries .

    回顶部