C++
辉哥仔Chilam
这个作者很懒,什么都没留下…
展开
-
Effective C++笔记⑦
定制new和delete 条款49:了解new-handler的行为 当operator new抛出异常以反映一个未获满足的内存需求之前,它会先调用一个可客户指定的错误处理函数,一个所谓的new-handler。为了指定这个“用以处理内存不足”的函数,客户必须调用set_new_handler,那是声明于<new>的一个标准程序库函数: namespace std{ ...原创 2019-11-21 00:00:25 · 106 阅读 · 0 评论 -
Effective C++笔记⑥
继承和面向对象设计 面向对象编程(OOP)几乎已经风靡了两个年代了,所以关于继承、派生、virtual函数等等。尽管如此,C++的OOP有可能和你原本习惯的OOP稍有不同:“继承”可以是单一继承或多重继承,每一个继承连接(link)可以是public,protected或private,也可以是virtual或non-virtual。本章节需要理解的问题: 成员函数的各个选项:virtual?...原创 2019-11-09 23:59:10 · 212 阅读 · 0 评论 -
Effective C++笔记⑤
实现 大多数情况下,适当提出你的classes(和class template)定义以及functions(和function templates)声明,是花费最多心力的两件事。一旦正确完成它们,相应的实现大多直接了当。尽管如此,还是需要注意某些东西: 太快定义变量可能造成效率上的拖延 过渡使用转型(casts)可能导致代码变慢又难维护 返回对象“内部数据之号码牌”可能会破坏封装并留给客户...原创 2019-10-26 23:42:30 · 171 阅读 · 0 评论 -
Effective C++笔记④
设计与声明 最重要、适合任何接口设计的一个准则作为开端:“让接口容易被正确使用,不容易被误用”。 条款18:让接口容易被正确使用,不易被误用 要开发一个接口,必须考虑可能会产生的错误。假设你为一个用来表现日期的class设计构造函数: class Date{ public: Date(int month, int day, int year); ... }; 上述代码很...原创 2019-09-29 00:12:36 · 176 阅读 · 0 评论 -
Effective C++ 笔记
class Widget{ public: Widget(); //构造函数 Widget(const Widget& rhs); //拷贝构造函数 Widget& operator=(const Widget& rhs); //重载“=”号 ~Widget(); } Widget w1; //1、构...原创 2019-04-13 00:31:43 · 161 阅读 · 0 评论 -
Effective C++ 笔记①
第二章:构造/析构/赋值运算 了解C++默默编写并调用哪些函数 在C++处理过一个空类之后,它就不是个空类了。如果你没有生硬,编译器就会自动声明一个复制构造函数,一个复制分配操作符和一个析构函数;并且,如果没有构造函数,编译器也会自动声明一个默认构造函数。所有的这些函数都是public且inline。 如果写下了 class Empty{}; 编译器自动帮你: class E...原创 2019-04-15 13:03:09 · 93 阅读 · 0 评论 -
Effective C++ 笔记③
第三章:资源管理 所谓资源就是,一旦用了它,将来必须还给系统;否则,糟糕的事情就会发生。C++中常用的资源就是动态分配内存,如果未能及时释放归还它,将会导致内存泄露(该块内存区域将永远不能使用)。 其他的资源还包括: 文件描述器 互斥锁 图形界面中的字型和笔刷 数据库连接 网络sockets 条款13:以对象管理资源 假设我们使用一个用来塑模投资行为(例如股票、债券等)的程序...原创 2019-09-25 00:37:07 · 237 阅读 · 0 评论