- 博客(16)
- 收藏
- 关注
原创 《Effective C++》读书笔记(六) 设计与声明(第二部分)
设计与声明 Designs and Declarations 条款22:将成员变量声明为private Declare data members private. 将成员变量声明为public、protected和private有什么区别?乍一看反正都声明了,应该无所谓的。但是,面向对象编程(OOP)是一种特殊的、设计程序的概念性方法
2013-10-21 18:39:05 609
原创 双向链表的C++实现
双向链表的C++实现 双向链表与单向链表相比,各个结点多了一个指向前一个结点的指针。结构如图所示: 双向链表的结点定义如下: #ifndef SIMPLENODE_HPP #define SIMPLENODE_HPP template //再定义一个模板 写双链表 class DoubleNode { public:
2013-10-21 18:13:32 6912
原创 《Effective C++》读书笔记(五) 设计与声明(第一部分)
设计与声明 Designs and Declarations 条款18:让接口容易被正确使用,不易被误用 Make interfaces easy to use correctly and hard to use incorrectly.
2013-10-19 09:38:53 749
原创 单向链表的C++实现
单向链表的C++实现 链表作为一种基础的数据结构,在计算机科学中广泛应用。特别是在不支持连续存储的空间中,以及实现灵活的内存动态管理中,都能起到重要作用。链表在首尾端及附近的操作普遍优于一般数组array,而且支持在链表内部找到指定位置并插入和删除元素,没必要像数组一样移动一大串元素,而只是在内部对所改变的结点链接进行固定的几个改变即可;但在链表中搜寻元素要遍历链表需O(n)
2013-10-17 15:13:16 1126
原创 《Effective C++》读书笔记(四) 资源管理
资源管理 Resource Management C++最常使用的资源就是动态分配内存,还有其他常见的资源,比如文件描述器、互斥锁、图形界面中的字型和笔刷、数据库连接、以及网络sockets。不论哪一种资源,重要的是,当不再使用它时,必须将它还给系统。否则,资源泄露等糟糕的事情就会接踵而至。并且,当发生异常,或者函数内多重回传路径,也可能维护人员没充分理解就改动软件等情况发生时,资源泄
2013-09-28 18:50:12 609
原创 两个栈实现一个队列
两个栈实现一个队列 从书中已经知道,栈(stack)是一种后进先出表;而队列(queue)是一种先进先出表。栈和队列的结构图如下。
2013-09-26 14:09:56 603
原创 两个队列实现一个栈
两个队列实现一个栈 从书中已经知道,栈(stack)是一种后进先出表;而队列(queue)是一种先进先出表。栈和队列的结构图如下。 那么将两个队列组合成一个栈,又该是怎样的?参考下图:
2013-09-26 14:08:05 605
原创 《Effective C++》读书笔记(三) 构造/析构/赋值运算 (第二部分)
构造/析构/赋值运算 Constructors,Destructors,and Assignment Operators
2013-09-16 22:39:39 511
原创 队列的基本操作
队列的基本操作 队列是一种先进先出(First In-First Out)的表。元素在最底端入队列,在最顶端出队列。队列的应用相当广泛,只要满足先进先出的特性就可以利用。比如我们日常排队打饭买票、不少高效算法运用队列、CPU资源竞争通过请求时间顺序排成一个队列等。队列在我们日常生活以及程序设计中都起到非常重要的作用。 队列的结构,如图所示:
2013-09-14 19:03:34 677
原创 栈的基本操作
栈的基本操作 栈是一种限制插入和删除操作只能在一个位置上进行的表,那个位置在栈顶。也被称为后进先出(Last In-First Out)表。栈的应用非常广泛。只要满足后进先出的特性就可以利用。比如判断符号是否成对出现、计算机中计算后缀表达式的值、中缀表达式转换为后缀表达式,以及多个经典算法中对于路径的搜索实现路径的保存等。其中,栈的一个最重要的应用,也是最经常使用的应用,就是
2013-09-14 19:02:37 710
原创 《Effective C++》读书笔记(二) 构造/析构/赋值运算 (第一部分)
构造/析构/赋值运算 Constructors,Destructors,and Assignment Operators 条款05:了解C++默默编写并调用哪些函数 Know what functions C++ silently writes and calls. 当我们写下一个empty class时,不包含任何我们声明的construc
2013-09-11 20:06:50 552
原创 《Effective C++》 读书笔记(一) 让自己习惯C++
让自己习惯C++ Accustoming Yourself to C++ 条款01:视C++为一个语言联邦 View C++ as a federation of languages. 如今的C++,是一个同时支持过程形式(procedural)、面向对象形式(object-oriented)、函数形式(functional)、泛型形式(
2013-09-10 09:22:44 573
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人