自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

peakyblinder的博客

C++大白的学习之路

  • 博客(8)
  • 收藏
  • 关注

原创 条款49-52

条款49:了解new_handler的行为        operator new抛出异常以反映一个未获满足的内存需求之前,它会先调用一个用户指定的错误处理函数,一个所谓的new_handler。为了指定这个函数,客户必须调用set_new_handler:namespace std{typedef void (*new_handler)();new_handler set_new_handl...

2018-05-28 19:43:02 222

原创 条款41-48

条款41:了解隐式接口和编译期多态        面向对象编程总是以显示接口和运行期多态解决问题。template及泛型编程的世界,与面向对象有根本不同,虽然显示接口和运行期多态仍然存在,但重要性降低,而隐式接口和编译期多态更为重要。        运行期多态和编译期多态类似于“哪一个重载函数被调用”(编译期)和“哪一个virtual函数该被绑定”(运行期)的差异类似。        显示接口由函...

2018-05-26 18:49:00 259 1

原创 第十八章

18.1.1        对未构造的内存中的对象进行赋值而不是初始化,其行为是未定义的。对许多类而言,这样做引起运行时崩溃。赋值涉及删除现存对象,如果没有现存对象,赋值操作符中的动作就会有灾难性效果。18.1.2allocator<T> a;定义名为 a 的 allocator 对象,可以分配内存或构造 T 类型的对象a.allocate(n)分配原始的未构造内存以保存 T 类型的 ...

2018-05-25 10:41:53 161

原创 第十七章

17.1.1        被选中的处理代码是调用链中与该对象类型匹配且离抛出异常位置最近的那个。         因为在处理异常的时候会释放局部存储,所以被抛出的对象就不能再局部存储,而是用 throw 表达式初始化一个称为异常对象的特殊对象。异常对象由编译器管理,而且保证驻留在可能被激活的任意 catch 都可以访问的空间。这个对象由 throw 创建,并被初始化为被抛出的表达式的副本。异常对...

2018-05-23 22:43:54 154

原创 第十六章

16.1.1        函数模板可以用与非模板函数一样的方式声明为 inline。说明符放在模板形参表之后、返回类型之前,不能放在关键字 template 之前。 16.1.3        模板形参遵循常规名字屏蔽规则。与全局作用域中声明的对象、函数或类型同名的模板形参会屏蔽全局名字: typedef double T;template <class T> T calc(con...

2018-05-21 16:17:35 177

原创 第十五章

基类成员函数         除了构造函数之外,任意非 static 成员函数都可以是虚函数。保留字只在类内部的成员函数声明中出现,不能用在类定义体外部出现的函数定义上。15.2.2        protected 还有另一重要性质: 派生类只能通过派生类对象访问其基类的 protected 成员,派生类对其基类类型对象的 protected 成员没有特殊访问权限:void Bulk_item:...

2018-05-12 19:16:53 227 1

原创 第十四章

14.1        用于内置类型的操作符,其含义不能改变。例如,内置的整型加号操作符不能重定义: // error: cannot redefine built-in operator for intsint operator+(int, int);        重载操作符必须具有至少一个类类型或枚举类型(第 2.7 节)的操作数。这条规则强制重载操作符不能重新定义用于内置类型对象的操作符...

2018-05-09 21:52:45 155

原创 第十三章

13.1拷贝构造函数和赋值函数区别:        调用的是拷贝构造函数还是赋值运算符,主要是看是否有新的对象实例产生。如果产生了新的对象实例,那调用的就是拷贝构造函数;如果没有,那就是对已有的对象赋值,调用的是赋值运算符。        话句话说,就是初始化时调用的是拷贝构造函数,赋值时调用赋值操作。        复制初始化首先使用指定构造函数创建一个临时对象(第 7.3.2 节),然后用复制...

2018-05-08 22:11:25 2440

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除