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

    今天我在想类里面类类型是什么时候初始化的
    如:
    class A
    {
        A(B& bb)
        {
            b = bb;
        }
        public:
            B b;
    };
    
    class B
    {
        B();
    };
    假如A a;定义一个对象会为对象的数据成员分配空间,然后调用构造函数进行初始化
    从概念上讲构造函数的执行分为两个阶段初始化阶段和计算阶段,先初始化再计算
    对于类里面的所有类类型都是在初始化阶段进行的初始化,即使其没有出现在初始化列表中,没有在初始化列表里面的直接调用默认构造函数,在里面调用指定的函数
    所以对于需要初始化的要在列表中初始化,因为这样少一次调用默认构造函数的机会,效率提升,另外对于const和引用必须在列表里面初始化
    对于内置或者复合的则两者一样随便哪一种
  • 相关阅读:
    POJ 2154
    POJ 1286
    Polycarp's problems
    Greedy Change
    Goods transportation
    Ugly Problem
    Happy Matt Friends
    Dense Subsequence
    Ray Tracing
    Batch Sort
  • 原文地址:https://www.cnblogs.com/zzyoucan/p/3974020.html
Copyright © 2011-2022 走看看