C++编程思想学习笔记
文章平均质量分 72
青春不谢
目前主要从事linux应用层相关的开发,接触了一点前端的内容
展开
-
C++编程思想学习笔记---第七章 函数重载与默认参数
第七章 函数重载与默认参数一、为什么要重载函数1.我们想用同一个函数的调用对不同类型的数据参数进行处理,编译器知道在声明函数的时候它的参数是什么类型。比如我想比较两个(同类型)数的大小,事先并不知道会是什么类型的数。我只需要一个函数名compare(); 对于不同的数据类型,我只需要修改参数即可。如compare(int a, int b)是比较两个整型数的大小,compare(doubl原创 2015-04-18 11:48:39 · 746 阅读 · 0 评论 -
C++编程思想学习笔记---第15章 多态性和虚函数
多态性(polymorphis)提供了接口与具体实现之间的另一层隔离,从而将”what”与”how”分离开来。多态性改善了代码的组织性和可读性,同时也使创建的程序具有可扩展性。15.1 C++程序员的演变c程序员可以用三步演变为C++程序员简单地把C++作为一个更好的C:更强的类型检查等进入基于对象的C++:将数据结构和操作绑定,更清晰地组织代码使用虚函数:这是面向对象设计的精髓15.2原创 2015-12-30 18:23:35 · 816 阅读 · 0 评论 -
C++编程思想学习笔记---第14章 继承和组合
继承是面向对象程序设计的基石14.1 组合语法下面一段代码把类型X的一个对象作为公共对象嵌入到一个新类内部,实现了组合的语法。//: C14: useful.h//A class to reuse#ifndef USEFUL_H#define USEFUL_Hclass X{ int i;public: X() { i = 0; } void set(int ii原创 2015-12-29 22:55:48 · 782 阅读 · 0 评论 -
C++编程思想学习笔记---第十章 名字控制
第十章 名字控制10.1 来自C语言中的静态元素在C和C++的定义中,static都有两种基本含义:1) 在固定的地址上进行存储分配,对象在静态区创建,而不是每次调用函数时在堆栈上产生。 ===> 生存期:在每次进入定义该变量的函数时2) 如果static变量是定义在某个文件中,不在任何函数内,则它在该文件中是全局的。 ===>作用域:仅在该文件中可用(除非用extern在别的文原创 2015-06-25 21:49:38 · 682 阅读 · 0 评论 -
C++编程思想学习笔记---第13章 动态创建对象
一个空中交通指挥系统需要处理多少架飞机?一个网络中将会有多少个节点?为了解决这个普通的问题,我们需要在运行时可以创建和销毁对象是最基本的要求。当然C早就提供了动态内存分配 函数malloc()和free(),它们可以从堆中分配存储单元。 然而这些函数将不能很好地运行,因为构造函数不允许我们向他传递内存地址来进行初始化。如果这么做了,我们可能: 1. 忘记了。则在c++中的对象初始化将会难以保证原创 2015-11-08 17:57:00 · 847 阅读 · 0 评论 -
C++编程思想学习笔记----第11章 引用和拷贝构造函数
11.1 C++中的指针c和c++指针的最重要区别在于c++是一种类型要求更强的语言。在c中,void* 类型的指针可以随意地指向其他类型的指针,而c++中必须显示地使用类型转换通知编译器和读者,这算是它比较严谨的地方。11.2 C++中的引用#include using namespace std;int y;int& r = y;//r is a reference原创 2015-09-22 22:51:22 · 644 阅读 · 0 评论 -
C++编程思想学习笔记---第12章 运算符重载
C++编程思想学习笔记—第12章 运算符重载 运算符重载只是一种语法上的方便,只是另一种形式的函数调用。 应当说明,运算符重载不应该被滥用,只有在能使涉及类的代码更易写,特别是更易读时,才有理由重载运算符12.1 运算符重载的语法:#include <iostream>using namespace std;class Integer{ int i;public: I原创 2015-09-24 22:41:03 · 655 阅读 · 0 评论 -
C++编程思想学习笔记---第九章 内联函数
第九章 内联函数为了解决C中不太方便,且容易出错的宏定义的问题,C++中使用内联函数来代替。内联函数的两大有点:1) 增加了参数检查,保证了代码的正确性 2) 仍然像C中一样,内联函数在调用处展开,而不是像普通函数一样需要压栈,RETURN等返回,减少了函数调用的开销原创 2015-05-17 13:40:33 · 753 阅读 · 0 评论 -
C++编程思想学习笔记---第八章 常量
第八章常量概念(由关键字const表示)是为了使程序员能够在变和不变之间画一条界限。这在C++程序设计项目中提供了安全性和可控性1、值代替C语言用#define BUFSIZE 100的宏定义方式来做值替换。好处是100的意义清楚,并且修改方便。有经验的程序员会把100加上括号,以防止某些因为逻辑不严谨造成的错误。但是因为预处理器只做些文本替代,它既没有类型检查概念,也没有该原创 2015-04-26 19:51:58 · 702 阅读 · 0 评论 -
C++编程思想学习笔记---第五章 隐藏实现
C++编程思想的学习笔记原创 2015-04-06 17:03:53 · 824 阅读 · 0 评论 -
用C++的string::size()和string::length()返回值做比较
楼主今天在自己实现kmp算法的c++代码时,发现了一个问题。我先把代码贴上来。//kmp search#include <iostream>#include <vector>using namespace std;vector<int> GetNext(string pattern){ vector<int> next(pattern.size(), -1); int i =原创 2016-03-16 14:17:59 · 3520 阅读 · 7 评论