摘要:
条款49:了解new handler的行为 当operator new无法分配出内存会抛出异常std::bad_alloc 抛出异常前会反复调用用户自定义的new handler函数直至成功分配内存 为不同的class写不同的new handler函数 include include include 阅读全文
摘要:
条款41:了解隐式接口和编译期多态 class支持显示接口和运行期多态 class的显示接口由函数的名签式构成(函数名称、参数类型、返回类型) class的多态通过virtual函数发生在运行期 template支持隐式接口和编译期多态 template的接口是隐式的,由具体的表达式决定 templ 阅读全文
摘要:
条款32:确定你的public继承塑模出is a关系 public继承意味着is a。适用于base class身上的每一个函数也一定适用于derived class。 条款33:避免遮掩继承而来的名称 几层作用域: global作用域 namespace作用域 Base class作用域 Driv 阅读全文
摘要:
今天朋友重启Win10后,登陆密码显示不正确,是用了很多方法都不行 然后就瞎捣鼓就进去 进入BIOS将启动模式调为USB模式 重启启动不了后 再改回系统启动 就进去了(好神奇) 阅读全文
摘要:
条款26:尽可能延后变量定义式的出现时间 C++推荐在使用对象前才定义对象(调用构造函数赋初值) 只在循环中使用的变量定义在循环内部(除非"赋值"成本低于"构造+析构"成本) 条款27:尽量少做转型动作 旧式风格转型 C风格转型 $(T)expression$ 函数风格转型 $T(expressio 阅读全文
摘要:
条款18:让接口容易被正确使用,不容易被误用 注意使用const,explicit,shared_ptr等来限制接口。 必要时可以创建一些新的类型,限制类型操作,束缚对象等。 注意保持接口的一致性,且与内置类型的行为兼容。 条款19:设计class犹如设计type 对象的创建和销毁 构造函数和析构函 阅读全文
摘要:
条款13:以对象管理资源 为了防止资源泄漏,请使用RAII(Resource Acquisition Is Initialization)对象,在构造函数里面获得资源,在析构函数里面释放资源 auto_ptr,shared_ptr,unique_lock都是RAII类。 一个对象只能由单一auto_ 阅读全文
摘要:
宏是由 define 定义而来,在预处理阶段进行宏展开,它的格式是: 阅读全文