C++高级特性
文章平均质量分 80
此专栏是2014年已出版著作《编码的法则:C++程序员不可不知的101条实用经验》第四篇连载,第四篇 C++高级特性 :包括13两3章。内容涵盖C++相关的高级特性
@一鸣惊人
这个作者很懒,什么都没留下…
展开
-
实用经验 101 提高(改善)代码可读性的措施
良好的注释、规范的变量命名,可显著的提高程序的可读性。可读性好的代码更容易被理解和维护;可读性好的代码,可显著降低程序的开发成本。这种成功包括程序员的沟通和代码的维护。原创 2021-12-06 20:46:54 · 456 阅读 · 0 评论 -
实用经验 100 改善C++程序运行效率的措施
深刻理解影响C++性能的各种因素。在编程时小心这些因素给你带来的负面影响;谨慎的使用C++的继承、多态等高级特性。他们在给带来便利的同时,也会你带来性能的缺失。原创 2021-12-06 20:33:24 · 1577 阅读 · 0 评论 -
实用经验 99 试着在代码中使用设计模式
设计模式是前人经验的结晶,可以帮助我们优化设计,降低耦合。因此在实际设计过程中可尽量的使用设计模式。原创 2021-12-06 20:19:42 · 318 阅读 · 0 评论 -
实用经验 98 避免使用“聪明的技巧”
“聪明的技巧”对“技巧”要求太高。一般程序员无法理解。也影响了代码的可读性和可维护性。所以,请最好避免使用这种“聪明的技巧”。原创 2021-11-22 21:18:10 · 260 阅读 · 0 评论 -
实用经验 97 C++为何引入命名空间?
我们都知道在一个作用域中定义的每个标志符在该作用域中应该是唯一的,独一无二的。但对于庞大,复杂的系统应用程序而言,这个要求有时候很难达满足。对于庞大的应用程序,有些标识符几乎无可避免的发生冲突,这种标志符冲突问题被称之为“命名空间污染问题”。使用命名空间,你可以定义你自己的命名空间,这样可避免程序开发中发生的名字冲突。解决命名空间污染问题。原创 2021-11-22 21:08:51 · 878 阅读 · 0 评论 -
实用经验 96 可执行文件*.exe(*.dll)剖析
可执行文件,指一种内容可被电脑解释为程序的电脑文件。通常可执行文件内,含有以二进制编码的微处理器指令,也因此可执行文件有时称为二进制档。这些二进制微处理器指令的编码,于各种微处理器有所不同,故此可执行文件多数要分开不同的微处理版本。每个C++可执行程序都包含文件头,代码段,数据段。他们是怎么存储的这是你需要掌握的。了解可执行文件布局,掌握程序中各部分分别存储在什么位置。可以指导我们编写出更优秀的代码。原创 2021-11-20 17:06:25 · 2181 阅读 · 3 评论 -
实用经验 95 检测和定位内存泄露的技巧
项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难捉摸也最难检测到的错误之一。 要养成良好习惯,保证malloc/new和free/delete匹配。时刻小心内存泄漏,你可以借用专业的检查工具检测并定位内存泄露。这样可显著提供你的程序开发效率原创 2021-11-20 16:47:35 · 334 阅读 · 0 评论 -
实用经验 94 虚函数的实现原理
C++中的虚函数作用主要是实现多态机制。关于多态,简而言之就是用基类指针指向其派生类的实例,然后通过基类指针调用实际派生类的成员函数。这种技术可让基类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。掌握C++的虚函数实现机制,有助于我们编写出安全易用的C++程序。同样我们也需要明白C++虚函数存在的安全性问题,避免使用这些不安全的机制。原创 2021-11-17 23:27:25 · 184 阅读 · 0 评论 -
实用经验 93 合理的使用断言(ASSERT)
使用断言在软件开发阶段及测试阶段,可帮助我们检查程序中的一些错误,并提供有用的信息。合理的使用断言,以提升程序开发和问题定位的效率。常用的断言有两种:一种是动态断言,即大家所熟知的C标准库的assert()宏,一种是C中的静态断言,即在编译期间检查。本使用经验主要介绍动态断言。原创 2021-11-14 12:07:34 · 844 阅读 · 0 评论 -
第13章 C++高级特性
本章将讨论C++的一些高级特性。他们在某些适当的场景下是有用的,但并不是所有的场景下都必须。没有掌握他们,你可以写出运行良好的程序,但是,如果你掌握并使用了他们,你所编写的代码会在扩展性,可维护性方面,可能更有优势。笔者将带领大家从最基础的断言开始,讨论C++程序实现的一些特征。也许你以前从未关注过这些东西,但没关系,我们从现在开始学习掌握。因为掌握他们是你迈向C++高级程序员的必经之路。如果你想成为C++高级开发人员,掌握他们是最基本的特质。原创 2021-11-14 11:55:39 · 873 阅读 · 0 评论