Effective C++
文章平均质量分 69
-信仰_
这个作者很懒,什么都没留下…
展开
-
Effective C++学习---09.杂项讨论
条款53:不要轻易忽视编译器的警告严肃对待编译器发出的警告信息,确保对警告信息有深刻的理解后,可以选择忽略某些警告信息(确保充分了解引起警告的原因,以及对应的影响) 不要过度依赖编译器的报警能力,因为不同的编译器对待事情的态度并不相同条款54:让自己熟悉包括TR1在内的标准程序库(std::experimental中的实验功能)条款55:让自己熟悉Boost原创 2024-04-06 14:51:01 · 164 阅读 · 1 评论 -
Effective C++学习---08.定制new和delete
条款49:了解new-handler的行为set_new_handle允许客户指定一个函数(new-handler),在内存分配无法满足时被调用,只有当new_handler==nullptr时,operator new才会抛出异常 nothrow new是一个颇为局限的工具,只能保持new操作不抛出异常,但无法保证后续类的构造函数不抛出异常条款50:了解new和delete的合理替换时机用来检测运用上的错误(用户可以添加一些自己的机制,检测内存使用或释放上的错误) 为了强化效能 为了收集使原创 2024-04-06 11:05:36 · 267 阅读 · 1 评论 -
Effective C++学习---07.模板与泛型编程
在template实参推导过程中从不将隐式类型转换函数(通过构造函数发生的隐式转换)纳入考虑当编写一个类模板时,某些函数与typename相关,当这些函数的参数涉及隐式类型转换时,最好将该函数定义为类模板内的friend函数。原创 2024-04-06 08:00:00 · 301 阅读 · 1 评论 -
Effective C++学习---06.继承与面向对象设计
静态绑定:在编译期确定动态绑定:在运行期确定对于继承而言,非虚函数不允许重新定义,因此本条款主要描述的是虚函数,对于虚函数而言,其是动态绑定的,而缺省参数值是静态绑定的。也就导致如果通过父类的指针或引用调用虚函数,实际调用的是子类的虚函数,但是参数值却是父类的缺省值而不是子类的缺省值条款38:通过复合塑模出has-a或“根据某物实现出”(is-implemented-in-terms-of)原创 2024-04-05 15:34:26 · 380 阅读 · 1 评论 -
Effective C++学习---05.实现
【代码】Effective C++学习---05.实现。原创 2024-04-05 00:02:38 · 410 阅读 · 1 评论 -
Effective C++学习---04.设计与声明
理想上,如果客户企图使用某个接口而却没有获得他所预期的行为,这个代码不该通过编译;如果代码通过了编译,它的行为就该是客户所想要的。原创 2024-04-04 17:09:57 · 631 阅读 · 1 评论 -
Effective C++学习---03.资源管理
资源:进程从操作系统申请,并要在合适的时机返还给操作系统,否则就会导致资源泄露;常见的资源有:堆内存(手动申请,使用结束后释放),文件描述符,互斥锁,网络socket等。原创 2024-04-03 11:18:01 · 1071 阅读 · 1 评论 -
Effective C++学习---02.构造/析构/赋值运算
父类。原创 2024-04-02 22:22:03 · 388 阅读 · 1 评论 -
Effective C++学习---01.让自己习惯C++
将C++视为一个由相关语言(次语言)组成的联邦,而非单一语言面向过程编程面向对象编程面向泛型编程STL:标准库对于内置的数据类型(C-like),pass-by-value(传值)通常比pass-by-reference(传引用)高效,对于Object-Oriented C++用户自定义(user-defined)数据类型,pass-by-reference(传引用)通常比pass-by-value(传值)高效。原创 2024-04-02 19:41:54 · 691 阅读 · 1 评论