zoukankan      html  css  js  c++  java
  • 条款6:若不想使用编译器自动生成的函数,就该明确拒绝(Explicity disallow the use of compiler-generated functions you do not want)

    class uncopyable{

    protected:

        uncopyable(){};                                                              //允许derived 对象构造和析构

        ~uncopyable(){};

     private:

         uncopyable(const uncopyalbe& );                                     //但阻止copying

         uncopyable& operator= (const uncopyalbe&);

    };

    class homeforsale: private uncopyable{                                    //class 不再声明

    .......                                                                                   //copy 构造函数或

    };                                                                                       //copy assignment 操作符

    一般要么client、member函数、friend 函数 尝试调用拷贝homeforsale object。这种写法都会明确拒绝。

    NOTE:

        为了驳回编译器自动(暗自)提供的机能,可将相应的成员函数声明为private并且不予实现,使用uncopyable这样的base class 也是一样的。

  • 相关阅读:
    table表框去掉相邻的间隔
    各种日期格式化返回
    校验金额、大小写字母、大写字母、合法uri、email
    vue js校验金钱、数字
    vue-router 动态添加 路由
    可视化-echarts流向图制作
    HTTP状态码
    二分查找
    编程语言的变量为啥不能是数字开头
    python位运算
  • 原文地址:https://www.cnblogs.com/chip/p/4768778.html
Copyright © 2011-2022 走看看