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

构造函数初始化列表

时间:2014-09-16 00:17:39      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   数据   div   sp   log   on   c   

今天我在想类里面类类型是什么时候初始化的
如:
class A
{
    A(B& bb)
    {
        b = bb;
    }
    public:
        B b;
};

class B
{
    B();
};
假如A a;定义一个对象会为对象的数据成员分配空间,然后调用构造函数进行初始化
从概念上讲构造函数的执行分为两个阶段初始化阶段和计算阶段,先初始化再计算
对于类里面的所有类类型都是在初始化阶段进行的初始化,即使其没有出现在初始化列表中,没有在初始化列表里面的直接调用默认构造函数,在里面调用指定的函数
所以对于需要初始化的要在列表中初始化,因为这样少一次调用默认构造函数的机会,效率提升,另外对于const和引用必须在列表里面初始化
对于内置或者复合的则两者一样随便哪一种

 

构造函数初始化列表

标签:style   blog   color   数据   div   sp   log   on   c   

原文地址:http://www.cnblogs.com/zzyoucan/p/3974020.html

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