zoukankan      html  css  js  c++  java
  • 条款5.了解c++默默编写并且调用了哪些函数。

      如果想在一个内含reference成员的class内支持赋值操作,必须自己定义copy assignment操作符。而且面对“内含有const成员的”class,编译器的反应也是相同的,由于更改const成员是非法的,所以编译器不知道如何在其自己生成的赋值函数之中去面对他们。

    template<class T>
    class NameObject
    {
        public:
            NameObject(std::string & name, const T & value;
            ...
        private:
            std::string & nameValue;  //这里这个是一个reference
            const T objectValue;      //这里这个是一个const
    };
      在上面的类之中,由于自己定义了一个引用,那么自己必须定义copy构造函数以及拷贝赋值运算符。对于const变量也是这样。
     
      还有一种情况就是基类如果将拷贝赋值运算符声明为私有的时候,编译器就会拒绝为其派生类声明一个拷贝赋值运算符。
  • 相关阅读:
    文字
    <script type="text/x-template"> 模板
    防xss攻击
    url
    symmfony
    composer
    header 和http状态码
    bootstrap
    linux的设置ip连接crt,修改主机名,映射,建文件
    Centos上传下载小工具lrzsz
  • 原文地址:https://www.cnblogs.com/-wang-cheng/p/4854935.html
Copyright © 2011-2022 走看看