zoukankan      html  css  js  c++  java
  • [EffectiveC++]导读 default构造函数

    class B
    {
    public:
        explicit B(int x = 0,bool b = true); //default构造函数    
    
    };
    

     explicit可以阻止用来执行隐式类型转换,但是可以用来进行显式类型转换。

    void doSomething (B bObject);
    
    doSometing(B(28));//使用B的构造函数将int显式转换(cast)为一个B以促成此一调用
    

     copy构造函数被用来“以同型对象初始化自我对象”,copy assignment操作符被用来“从另一个同型对象中拷贝其值到自我对象。”

    声明式(declaration)是告诉编译器某个东西的名称和类型(type),但略去细节。

    如:

    extern int x;//object 声明式

    std::size_t numDigits(int number);//function声明式

    class Widget;//class

    template<typename T>

    class GraphNode;//template 声明式

    每个函数的声明揭示其签名式(signature),也就是参数和返回类型。一个函数的签名等同于该函数的类型。numDigits函数的签名是std::size_t (int).c++对签名式的官方定义是并不包含函数的返回类型。

    定义式(definition)任务是提供编译器一些声明式所遗漏的细节。对对象而言,定义式是编译器为此对象拨发内存的地点。对function function template而言,定义式提供了代码本体。对class或class template而言,定义式列出他们的成员。

  • 相关阅读:
    django
    水仙花数 Python
    Python 实现两个矩形重合面积
    Linux文件目录
    grep 命令
    软件测试的一些心得(转)
    压力测试和负载测试
    如何在mysql数据库生成百万条数据来测试页面加载速度
    CentOS7下部署java+tomcat+mysql项目及遇到的坑
    MongoDB的安装
  • 原文地址:https://www.cnblogs.com/jeanschen/p/3214603.html
Copyright © 2011-2022 走看看