C++沉思录
铲灰
平凡的一个人
展开
-
第19章-使用泛型迭代器
///学习了《C++沉思录》第19章内容,手动敲下,加深印象 #include <iostream> #include <assert.h> using namespace std; ///虚拟序列 class Constant_iterator { public: Constant_iterator(int = 0); int operator*() const; Constant_iterator& operator++(); ...原创 2020-08-23 15:49:29 · 86 阅读 · 0 评论 -
模块和泛型算法(C++沉思录)
#include <iostream> #include <stdio.h> using namespace std; /* 关于find使用的数据结构,我们必须知道那些情况呢? 1.我们正在查找某个类型为int的值 2.我们正在一个int对象数组中进行查找 3.我们已经预先知道了数组中的元素的数目 4.我们知道了第一个元素的地址 */ const int* find1(const int* array, int n, int x) { const int*p = arra...原创 2020-08-02 14:31:45 · 105 阅读 · 0 评论 -
作为接口的模块
#include <iostream> using namespace std; int sum(int*p, int n) { int result = 0; for(int i = 0; i < n; i++) { result += p[i]; } return result; } class Int_iterator { public: Int_iterator(int* p, int c):data(p), l...原创 2020-07-26 14:54:49 · 88 阅读 · 0 评论 -
C++沉思录-句柄类2
《C++沉思录》的第六章介绍了句柄类,第七章也介绍句柄类,不过这章介绍的是引用技术和对象数据分开的技术,有3个类handle,point和usecount组成(顺便添加了点自己认为重要的注释) 使用三个数据结构取代第六章的两个数据结构会增加了模块化的程度而没有增加额外的复杂性(并不是很理解这句话的意思) class Point { public: ///构造函数,拷贝构造函数 ...原创 2020-05-01 11:16:39 · 197 阅读 · 0 评论 -
C++沉思录-句柄类1
看了下《C++沉思录》第六章的内容介绍的是句柄第一部分,采用引用计数器的方式减少内存的拷贝 动手敲了下代码加深点印象,加了点注释 class Point { public: ///无参数的构造函数的作用:对于要创建一个Point的数组来说, ///我们可能只采用一个带缺省参数的构造函数 Point():xval(0), yval(0){} Point(int x...原创 2020-04-30 11:21:49 · 202 阅读 · 0 评论 -
序列
看了《C++沉思录》第15章,手动写了下代码,加深点印象 #ifndef __SEQ__H_ #define __SEQ__H_ #include "Seq_item.h" #include <iostream> using namespace std; template<class T> class Seq_item; template<class T> class Seq { public: Seq(); Seq(const T&, c...原创 2020-07-12 15:57:28 · 90 阅读 · 0 评论 -
C++沉思录第九章
把《C++沉思录》第九章的内容敲了一遍,希望以后能用的到,先找一个地方保存起来 #pragma once #include <iostream> using namespace std; class Picture { friend ostream& operator<<(ostream&, const Picture&); friend Picture frame(const Picture&); friend ...原创 2020-07-26 14:55:28 · 119 阅读 · 0 评论