首页 > 编程语言 > 详细

c++不自动生成相关函数比如赋值、拷贝函数

时间:2017-02-02 19:12:34      阅读:283      评论:0      收藏:0      [点我收藏+]

默认情况下,如果没有明确声明某些函数比如赋值、拷贝函数,c++会自动生成这些函数,通常他们是对成员进行by-value拷贝,有些时候,赋值、拷贝对象并无什么意义或者不合理,比如对于socket或者thread而言,这种情况下,可以明确通过指定=delete告知编译器不要自动生成它们。如下所示:

class thread_guard
{
    std::thread& t;
public:
     explicit thread_guard(std::thread& t_):
    t(t_)
    {}
    ~thread_guard()
    {
        if(t.joinable())
        {
            t.join();
        }
    }
     thread_guard(thread_guard const&)=delete;
     thread_guard& operator=(thread_guard const&)=delete;
};

 

c++不自动生成相关函数比如赋值、拷贝函数

原文:http://www.cnblogs.com/zhjh256/p/6361457.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!