码迷,mamicode.com
首页 > 其他好文 > 详细

再进一步: 根据语义 去决定采用的形式:“持有自己独立的副本” vs "作为'引用者'之一 " ?

时间:2018-06-30 10:54:23      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:构造   col   变量   lin   默认   TE   函数   strong   局部变量   

★ (一个成员)变量的 创建、初始化、赋值

    “默认值”:内置类型的局部变量、内置类型的成员变量(未设置=initval;) 没有默认值!  若创建时不指定值,则不进行初始化、则其值未定义!!!

    “指定值”:显式传给你值。 调用类的有参构造函数。

 

★ 等号即为赋值。

int i = 0;        //  创建i  —— > (内置类型无默认值、同时未指定值? 则不进行初始化, 值为未定义)  ——> 赋值

Man man("wjh", 21);   //  创建man ——>  指定值-初始化

Man man = m1;           //  创建man ——> (使用默认构造,成员变量采用类中定义的无默认值/有默认构造 初始化方案、)

 

“指定值-初始化” 实际的语义行为:     对该成员T instance采取 “copy constructor”。             所以采用member1(member2)的形式啊!

“默认值-初始化” + “赋值” :    对该成员T instance采取 “default constructor” + "copy assignment"

 

写段代码、打log验证一下!


 

技术分享图片

再进一步: 根据语义 去决定采用的形式:“持有自己独立的副本” vs "作为'引用者'之一 " ?

标签:构造   col   变量   lin   默认   TE   函数   strong   局部变量   

原文地址:https://www.cnblogs.com/nanlan2017/p/9245961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!