zoukankan      html  css  js  c++  java
  • 构造函数初始化列表

    今天我在想类里面类类型是什么时候初始化的
    如:
    class A
    {
        A(B& bb)
        {
            b = bb;
        }
        public:
            B b;
    };
    
    class B
    {
        B();
    };
    假如A a;定义一个对象会为对象的数据成员分配空间,然后调用构造函数进行初始化
    从概念上讲构造函数的执行分为两个阶段初始化阶段和计算阶段,先初始化再计算
    对于类里面的所有类类型都是在初始化阶段进行的初始化,即使其没有出现在初始化列表中,没有在初始化列表里面的直接调用默认构造函数,在里面调用指定的函数
    所以对于需要初始化的要在列表中初始化,因为这样少一次调用默认构造函数的机会,效率提升,另外对于const和引用必须在列表里面初始化
    对于内置或者复合的则两者一样随便哪一种
  • 相关阅读:
    第一次热身赛和正式比赛感想
    简明解释算法中的大O符号
    poj 3045
    poj 3104
    poj 3273
    poj 3258
    poj 2456
    二分法小结
    Poj 2718 Smallest Difference
    GCJ——Crazy Rows (2009 Round 2 A)
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/3974020.html
Copyright © 2011-2022 走看看