摘要:引用计数的智能指针是对《Effective C++ 条款13:以对象管理资源》的一个实现。我们要设计一个智能指针,使他能够管理资源,在正确的实际调用资源的析构函数。首先我们需要一个指针reference来指向资源,当智能指针构造时,用reference指针指向资源,在我们确定资源应该被析构时,我们对...
阅读全文
随笔分类 - C++
摘要:引用计数的智能指针是对《Effective C++ 条款13:以对象管理资源》的一个实现。我们要设计一个智能指针,使他能够管理资源,在正确的实际调用资源的析构函数。首先我们需要一个指针reference来指向资源,当智能指针构造时,用reference指针指向资源,在我们确定资源应该被析构时,我们对...
阅读全文
摘要:条款13:以对象管理资源许多资源被动态分配于heap内而后被用于单一区块或函数内。它们应该在控制流离开那个区块或函数时被释放。标准程序库提供的auto_ptr正是针对这种形式而设计的特制产品。auto_ptr是个类指针对象,也就是智能指针,其析构函数自动对其所指对象调用delete。以对象管理资源的...
阅读全文
摘要:条款05:了解C++默默编写并调用哪些函数编译器默认声明一个default构造函数、一个copy构造函数、一个copy assignment操作符和一个析构函数。这些函数都是public且inline。1 class Empty {2 public:3 Empty() {...}4 ...
阅读全文
摘要:Plain old data structure, 缩写为POD, 是C++语言的标准中定义的一类数据结构,POD适用于需要明确的数据底层操作的系统中。POD通常被用在系统的边界处,即指不同系统之间只能以底层数据的形式进行交互,系统的高层逻辑不能互相兼容。比如当对象的字段值是从外部数据中构建时,系统...
阅读全文
摘要:条款01:视C++为一个语言联邦C++是个多重范型编程语言,一个同时支持面向过程形式、面向对象形式、函数形式、泛型形式、元编程形式的寓言。将C++视为几个子语言:传统C:区块、语句、预处理器、内置数据类型、数组、指针。没有模板、没有异常、没有重载。面向对象C++:类(包括构造函数析构函数)、封装、继...
阅读全文
摘要:const_cast(expression)该运算符用来修改类型的const或volatile属性。除了const 或volatile修饰之外, type_id和expression的类型是一样的。一、常量指针被转化成非常量的指针,并且仍然指向原来的对象;二、常量引用被转换成非常量的引用,并且仍然指...
阅读全文
|