
由浅入深谈C++设计模式
文章平均质量分 93
《Hands On Design Pattern with C++》学习记录,个人总结,原文可见 www.packtpub.com hands-on-design-patterns-with-c
wbvalid
Linux、C/C++、CISP-PTE、Python、Oracle、MySql、Apache、Hadoop、分布式集群、虚拟化集群、自动化运维
展开
-
C++设计模式由浅入深(四)——swap抽丝剥茧
四、深入浅出剖析swap1 STL与swapswap操作被广泛应用与C++标准库中。所有的标准模板库(STL)容器都提供了swap函数,并且同时支持非成员版本的函数模板std::swap。swap在STL的算法中也有广泛应用。标准库也是常常被用来实现与之类似自定义功能的模板库。因此,我们将会开始学习swap操作并且仔细研究标准库提供的函数细节。1.1 swap与STL容器从概念上讲,swap所做的行为就如同下面所示的操作:template <typename T> void swap(原创 2021-06-12 17:57:19 · 2276 阅读 · 1 评论 -
C++设计模式由浅入深(三)—— 内存所有权
三、内存所有权内存的错误管理是C++程序中最常见的问题之一。此类问题发生的原因多数是源于对内存所有权概念的模糊。于是,我们的程序中就出现了诸如:内存泄漏,访问未经初始化的内存,内存超限使用,以及其他难以排错的问题。现代C++中存在一套内存所有权管理的惯用法,这些方法允许程序员清除地表达他们对于内存所有权方面的设计意图。这样一来,我们就能更容易地写出正确分配、访问以及释放内存的优良代码。以下为本章中将要讨论的主题:什么是内存所有权?一个良好的资源所有权设计应该是什么样的?什么时候需要质疑自己关于资原创 2021-06-12 17:55:07 · 1264 阅读 · 1 评论 -
C++设计模式由浅入深(二)—— 类模板和函数模板
二、类和函数模板C++的模板编程特性是一个又大又复杂的话题,有许多著作专门传授这种特性和技巧。在本书中,我们会用到许多C++中的高级泛型编程特性。那么我们该如何去理解贯穿次数中的这些语言结构呢?本章采用了非正式的方法,抛弃那些精准的定义,我们通过例子来演示如何使用模板以及解释这些语言特性具体做了什么。如果你觉得在这里遇到了知识盲区,我建议可以通过阅读关于C++语法和语义的专著来加深你的理解。当然,如果读者想要知道精准的定义,可以参考C++标准文档。下面是本章将要讨论的主题:C++中的模板类模板和函原创 2021-06-05 11:01:34 · 392 阅读 · 0 评论 -
C++设计模式由浅入深(一)—— 继承和多态
一、继承和多态C++首先是一个面向对象的语言,对象是C++程序的基石。通过类的继承和派生,软件工程师可以自由表达对软件系统中各个部分之间的关系与交互逻辑,定义各个组件之间的接口和实现,有秩序地组织起数据结构和代码。本书的目的不是为了教授C++语言,本章的要义是为了帮助读者理解C++语言特性中与类和继承相关的知识,有助于后续章节的展开。因此,我不会事无巨细地描述C++中类及其相关工具的具体用法,而是会介绍贯彻本书中的基础概念和语言结构。本章我们将要讨论:C++中的类是什么?它在C++语言中扮演什么样的原创 2021-06-04 22:21:40 · 713 阅读 · 1 评论