zoukankan      html  css  js  c++  java
  • EC笔记,第一部分:4.确定对象初始化

    04.确定对象初始化

    将对象初始化,C++反复无常,所以在使用前应该手动初始化

    1.分清赋值与初始化

                以下例子:

    class test{

        public:

        int a;

        test(){

           a=0;//赋值而非初始化

        }

    };

     

    class test2{

        public:

        int a;

        test():a(0){//初始化

     

        }

    };

                第二种比第一种高效,有时甚至高效很多,第一种会调用default构造函数,然后赋值,这样defalit的调用就完全浪费了,而第二种避免了对default的调用

                注意,初始化列表中应该列出所有成员变量

                初始化是以声明次序初始化的

    2.关于非局部静态变量的初始化

                非局部静态变量往往出现在多个实现文件中,而他们的初始化顺序无法确定(导致的问题:一个非局部静态变量的初始化用了另一个非局部静态变量,而被使用的非局部静态变量未被初始化),最好的办法是定义一个包含局部静态变量的函数,函数返回该变量的引用,以此来避免在对象使用前未被初始化

     

     

     

     

     

  • 相关阅读:
    linux服务器管理员的12个有用的命令
    登录服务器,首先用到的5个命令
    去掉hive字段中的tab
    html-css实例
    【转】你真的理解Python中MRO算法吗?
    【转】CentOS下expect 安装
    Python|PyCharm安装scrapy包
    Java连接Oracle
    Java连接mysql
    最常用正则表达式
  • 原文地址:https://www.cnblogs.com/SkyFireITDIY/p/4374945.html
Copyright © 2011-2022 走看看