《Effective C++》
文章平均质量分 91
KangRoger
这个作者很懒,什么都没留下…
展开
-
《Effective C++》构造/析构/赋值 函数:条款10-条款12
条款10到条款12讲述了赋值操作符、赋值构造函数、以及基类派生类之间调用这些函数时应该注意什么?原创 2015-01-11 19:57:23 · 2513 阅读 · 0 评论 -
《Effective C++》:条款52:写了placement new也要写placement delete
placement new和placement delete是C++经常用到但是却不常见的两个操作符。但是两者要有对应关系原创 2015-03-26 12:20:41 · 2244 阅读 · 0 评论 -
《Effective C++》让自己习惯C++:条款1-条款4
《Effective C++》条款1到条款4。基本是总结C++的一些特点,尤其是不同于C语言的特点。原创 2014-12-13 19:26:01 · 7807 阅读 · 1 评论 -
《Effective C++》:条款38-条款39
条款38通过复合塑模树has-a 或根据某物实现出条款39明智而审慎的使用private继承原创 2015-03-08 21:32:21 · 2232 阅读 · 0 评论 -
《Effective C++》:条款52-条款55
最后这三个条款属于杂项。条款53告诉我们不要忽略警告,虽然程序可以编译通过,但是要搞明白警告信息。条款54和条款55讲解C++的库,一个是TR1文档,一个是Boost。现在C++11标准已定,且有编译器支持。Boost库一些内容已经标准化到C++11,与其学习Boost,不如熟悉C++11中的Boost库内容。原创 2015-03-27 22:34:11 · 2724 阅读 · 0 评论 -
《Effective C++》:条款51:编写new和delete时需固守常规
条款 50已经说明为什么要写自己的operator new和operator delete,本条款解释在编写时遵循什么守则。原创 2015-03-20 20:54:42 · 1733 阅读 · 0 评论 -
《Effective C++》:条款50:了解new和delete的合理替换时机
有人会想要替换掉编译器提供的operator new或operator delete,因为……原创 2015-03-17 19:12:44 · 2232 阅读 · 0 评论 -
《Effective C++》:条款43:学习处理模板化基类内的名称
模板化的类作为基类时,和单纯的class并不相同,其中有些要注意的地方。尤其是在派生类中调用模板基类的函数时,要注意。原创 2015-03-11 21:34:00 · 2028 阅读 · 0 评论 -
《Effective C++》:条款40:明智而审慎的使用多重继承
多重继承(multiple inheritance:MI)虽然使用不多,也不建议被使用,但是在真正需要使用的时候,也不要犹豫。原创 2015-03-09 22:20:27 · 1881 阅读 · 0 评论 -
《Effective C++》 目录
目录。方便查找各个条款原创 2015-03-28 21:27:21 · 4990 阅读 · 1 评论 -
《Effective C++》:条款41-条款42
条款41了解隐式接口和编译期多态条款42了解typename的双重意义条款原创 2015-03-10 22:13:03 · 2174 阅读 · 1 评论 -
《Effective C++》:条款44-条款45
条款44将与参数无关的代码抽离templates条款45运用成员函数模板接受所有兼容类型原创 2015-03-12 22:01:36 · 2392 阅读 · 0 评论 -
《Effective C++》:条款46-条款47
条款46需要类型转换时请为模板定义非成员函数条款47请使用traits class表现类型信息条款原创 2015-03-13 22:10:46 · 2228 阅读 · 0 评论 -
《Effective C++》:条款32-条款33
条款32-条款40是介绍继承相关内容的。条款32介绍public继承塑造出基类和派生类之间的关系。条款33介绍继承层次中,变量的作用域以及遮掩关系。原创 2015-02-25 23:10:35 · 2201 阅读 · 0 评论 -
《Effective C++》:条款36-条款37
条款36绝不重新定义继承而来的non-virtual函数条款37绝不要重新定义继承而来的缺省参数值条款原创 2015-03-05 22:27:12 · 1963 阅读 · 0 评论 -
《Effective C++》资源管理:条款20-条款21
这两个条款讲述了何时应该使用引用传递pass by reference,何时应该使用值传递pass by value。原创 2015-02-04 23:19:08 · 2211 阅读 · 0 评论 -
《Effective C++》:条款35:考虑virtual函数以外的其他选择
virtual函数在派生中经常用到,在遇到一些问题时用virtual函数没问题,但是有时候我们应该思考一下是否有替代方案,以此来拓宽我们的视野。原创 2015-03-02 21:12:39 · 2956 阅读 · 0 评论 -
《Effective C++》资源管理:条款16-条款17
在使用new和delete要注意的事项,以及使用智能指针时要注意的事项。原创 2015-01-16 21:36:23 · 2194 阅读 · 0 评论 -
《Effective C++》资源管理:条款22-条款24
这三个条款讨论了封装性和类型转换。讲解了怎么实现更高的封装性以及实现所有参数类型转换。原创 2015-02-07 22:10:00 · 2683 阅读 · 0 评论 -
《Effective C++》资源管理:条款13-条款15
在系统中,资源是有限的,一旦用完必须归还给系统,否则可能会造成资源耗尽或其他问题。例如,动态分配的内存如果用完不释放会造成内存泄漏。这里说的资源不仅仅是指内存,还包括其他,例如文件描述符、网络连接、数据库连接、互斥锁等。在任何情况下都要把不使用的资源归还系统是一件非常困难的事情。尤其是考虑到异常、函数内多重回传路径等。基于对象的资源管理办法几乎可以消除资源管理的问题。原创 2015-01-14 21:46:02 · 2718 阅读 · 0 评论 -
《Effective C++》:条款28-条款29
条款28避免返回handles指向对象内部成分:指的是不能返回对象内部数据/函数的引用、指针等。条款29为异常安全而努力是值得的:指的是要有异常处理机制,避免发生异常时造成资源泄露等问题。原创 2015-02-19 19:47:26 · 2477 阅读 · 4 评论 -
《Effective C++》:条款30:透彻了解inlining的里里外外
inline函数的优缺点,以及使用inline函数时注意的问题。原创 2015-02-22 22:31:49 · 2367 阅读 · 0 评论 -
《Effective C++》设计与声明:条款18-条款19
这两个条款讲的是:接口的设计和类的设计。其中接口的设计原则是让接口容易被正确使用,不容易被误用;后面有一系列的做法。类的设计,讲的是类设计犹如新类型type的设计。在设计类时要考虑的一系列问题。原创 2015-01-21 21:43:35 · 2407 阅读 · 1 评论 -
《Effective C++》构造/析构/赋值 函数:条款5-条款9
每一个类中都有构造函数、析构函数、赋值操作符。这几个函数是一个类最根本的函数,它控制着创建对象并初始化、对象消亡时的清理以及摆脱旧值赋新值。这样函数如果有问题,那么影响极为严重。条款5-条款9分别讲述了编译器默认编写哪些函数、如何拒绝编译器默认编译的函数、析构函数为何要为virtual、异常不要逃离virtual函数、构造和析构函数中不要调用virtual函数。原创 2015-01-05 21:23:49 · 3988 阅读 · 0 评论 -
《Effective C++》资源管理:条款26-条款27
条款26尽可能延后变量定义式的出现时间。这个条款来讲明,如何高效定义变量。条款27尽量少做转型动作条款。这个条款讲明,类型转换中要注意的问题。原创 2015-02-11 23:08:35 · 2119 阅读 · 0 评论 -
《Effective C++》:条款31:将文件间的编译依存关系降至最低
将文件的编译依存关系降至最低,就是把各个文件之间的关联度降低。在修改一个文件后,编译时不需要重新编译很多文件。降低依存关系有几种手法,在文章中有讲。原创 2015-02-23 23:07:17 · 2789 阅读 · 0 评论 -
《Effective C++》:条款48:认识template元编程
认识template元编程原创 2015-03-14 22:05:33 · 1909 阅读 · 0 评论 -
《Effective C++》:条款34:区分接口继承和实现继承
public继承的概念,由2部分构成:函数接口(function Interface)继承和函数实现(function implementation)继承。这两种继承的差异有点像函数的声明和函数的定义之间的差异。在基类中,函数分为三种: pure virtual函数只具体指定接口继承。impure virtual函数具体指定接口继承和缺省实现继承。 non-virtual函数具体指定接口继承和强制性实现继原创 2015-02-26 23:36:10 · 2220 阅读 · 0 评论 -
《Effective C++》:条款49:了解new-handler的行为
C++内存是由程序员手动管理的,不像Java或.net有垃圾回收机制。C++内存管理主要是分配例程和归还例程(allocation and deallocation routines),即operator new和operator delete,还有一个配合的角色new-handler。本条款主要讲解new-handler的行为原创 2015-03-15 21:03:46 · 2396 阅读 · 0 评论 -
《Effective C ++ 》资源管理:条款25--考虑写出一个不抛出异常的swap函数
swap交换函数是常用的函数,在STL中有实现,但是未必高效。本条款讲解的是,怎么写一个兼容STL的、高效的swap函数。原创 2015-02-09 22:05:57 · 2421 阅读 · 0 评论