从effective C++中窥探C++11特性

从effective C++中窥探C++11特性

  

  这几天在看effective C++3rd,这本书算是比较经典的一本入门C++的书了。虽然年代比较久远书中讲的好多模式已经被的新特性取代了,但是从这些旧的模式中可以了解到一些C++新特性设计的初衷,也算是窥探到了C++发展的一角吧。

  所以在此记录一下学习过程中那些被C++11新特性取代的旧模式吧(C++11后面的特性我还不是很了解,以后学到了再补充吧)

 

1、阻止编译器自动生成函数

  编译器在一些情况下会为自定义类自动生成默认构造函数、拷贝构造函数和运算符,移动构造函数和运算符(C++11新特性)。但是有些自定义类不希望用户进行一些操作,就应该在设计时就考虑到这种情况。

  比如:一个类Uncopyable是一个机密信息,不允许被拷贝,所以没有在类中设计拷贝控制函数。但是如果恰好写了赋值操作,则编译器会自动生成一个拷贝赋值运算符,下面代码是运行正确的,这显然与设计初衷不符。

class Uncopable;
Uncopable uncopy,user;
    user=uncopy;
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 从effective C++中窥探C++11特性