随笔分类 - 读书笔记
特定于类的内存管理---《C++必知必会》 条款36
摘要:我们可以量身定制 operator new 和 operator delete 用于某个类类型,而不是必须使用标准版的 operator new 和 operator delete。 注意:我们不可以对 new 和 delete 操作符做什么,它们的行为是固定的。但是我们可以改变 它们所调用的 op
阅读全文
placement new--《C++必知必会》 条款35
摘要:placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。 placement new原型为: operator new的原型为: 首先我们区分下几个容易
阅读全文
禁止或强制使用堆分配---《C++必知必会》 条款34
摘要:有时候,指明一些特定类的对象不应该被分配到堆(heap)上是个好主意。通常这是为了确保该对象的析构函数一定会得到调用。维护对象本身(body object)的引用计数的句柄对象(handle object)就属于这种对象。具有自动存储区的类的局部对象,其析构函数会被自动调用(exit 或abort发
阅读全文
制造抽象基类--《C++必知必会》 条款33
摘要:抽象类,含有纯虚函数的类,不可以创建对象。 然而,有时我们并不需要某个函数定义为纯虚函数,但是任然希望此类像抽象类一样,不可以创建对象。 方法1:通过确保类中不存在共有构造函数来模拟抽象基类的性质。意味着,我们必须至少显示地声明一个构造函数和一个复制构造函数,防止编译器隐式公有的内联的构造函数。声明
阅读全文
禁止复制操作 --《C++必知必会》条款32
摘要:class NoCopy{ private: //声明为私有的,则外部不可访问,即:不可复制 NoCopy(const NoCopy & );//复制构造函数 NoCopy & operator=( const NoCopy &);//复制赋值操作符 };
阅读全文
协变返回类型---《C++必知必会》 条款 31
摘要:一般来说,一个重写的函数与被它重写的函数具有相同的返回类型。 然而,这个规则对于“协变返回类型(covariant return type)“的情形来说有所放松。也就是说,如果B是一个类类型,并且一个基类虚函数返回B*,那么一个重写的派生类函数可以返回D*,其中的D共有派生于B(即D是一个(is a
阅读全文
实参相依查找[条款25]----《C++必知必会》
摘要:名字空间对现代C++编程和设计有着深远的影响。其中有些影响直接而明显,例如using声明和using 指令以及采用名字空间作用域加以限定的名字。然而,名字空间还有一些在语法上不那么明显但任然很有基础、很重要的影响。实参相依的查找(Argument Dependent Lookup ADL)就是其中之
阅读全文
成员函数查找[条款24]---《C++必知必会》
摘要:调用一个成员函数,涉及三个步骤:第一步,编译器查找函数的名字;第二部,从可用候选者中选择最佳匹配函数;第三步,检查是否具有访问该函数的权限。 分析: 步骤1:查找函数的名字。因为我们正在调用一个D对象的成员,所以将从D的作用域开始查找并且立即定位到D::f上。 步骤2:从可用的候选者中选择最佳的匹配
阅读全文
函数对象[条款18]---《C++必知必会》
摘要:有时需要一些行为类似于函数指针的东西,但函数指针显得笨拙、危险而且过时(让我们承认这一点)。通常最佳方式是使用函数对象(function object)取代函数指针。 与智能指针一样,函数对象也是一个普通的类对象。智能指针类型重载 -> 和 * (可能还有 ->* 和 .*)操作符,来模仿指针的行为
阅读全文
处理函数和数组声明[条款17]---《C++必知必会》
摘要:指向函数的指针声明和指向数组的指针声明容易混淆,原因在于函数和数组修饰符的优先级比指针修饰符的优先级高,因此通常需要使用圆括号。 int *f1( );//一个返回值为 int* 的函数 int ( *f2 )( );//一个指针,指向一个返回值为 int 的函数 具有高优先级的数组修饰符存在同样的
阅读全文
新式转型操作符[条款9] --《C++必知必会》
摘要:在旧式转型(cast)下面隐藏着一些见不得人的、鬼鬼祟祟的东西。他们的语法形式使其在一段代码中通常很难引起人们的注意,但它们可能会搞一些可怕的破坏活动,就好比你冷不丁被一个恶棍猛击一拳似的。让我们阐明旧式转换的含义。显然,在最初的C语法中,在表达式中将类型加括号就是旧式转型: char * hope
阅读全文
《改变你一生的108个心理学法则》
摘要:书读完了必须要总结,必须要提炼书中的对自己有用的知识点,必须要把书中所学的在 生活中去实践,这才是读一本书的真正意义与价值所在。为什么我们常说”知道那么多道理还是过不好这一生”,是因为你虽然知道那么多道理,但是你却没有去按 照这些道理去执行,去改变自己的行为习惯,在读这本书之前,书中的很多观点,很多
阅读全文