C++ STL框架

STL(Standard Template Library,标准模板库) STL的三大组件:容器(container)、算法(algorithm)、迭代器(iterator)。 STL:六大组件 容器 算法 迭代器 仿函数 适配器 空间配置器 容器:存放数据 算法:操作数据 迭代器:容器和算法的桥梁 ...

进击的小尧好程序员 @ 2020/03/29

C++ 虚继承

前言 虚继承 是面向对象编程中的一种技术,是指一个指定的基类,在继承体系结构中,将其成员数据实例共享给也从这个基类型直接或间接派生的其它类。 虚拟继承是多重继承中特有的概念。虚拟基类是为解决多重继承而出现的。 虚拟继承在一般的应用中很少用到,所以也往往被忽视,这也主要是因为在C++中,多重继承是不推 ...

进击的小尧好程序员 @ 2020/03/25

C++ 多态

多态(Polymorphism)按字面的意思就是“多种状态”。在面向对象语言中,接口的多种不同的实现方式即为多态。引用Charlie Calverts对多态的描述——多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作 ...

进击的小尧好程序员 @ 2020/03/25

C++ 类的继承和派生

继承的优点:减少代码的冗余 提高代码的重用性 派生类定义格式: Class 派生类名 : 继承方式 基类名{ //派生类新增的数据成员和成员函数 }; class 子类: 继承方式 父类名{ //子类新增的数据成员和成员函数 }; 继承方式分类: public : 公有继承 (重要) private ...

进击的小尧好程序员 @ 2020/03/25

C++ 类中的函数重载

我们知道C++中非常重要的:1.全局函数、2.普通成员函数、3.静态成员函数。 类中的成员函数构成的重载有这几点: 1. 构造函数的重载。 2.普通成员函数的重载。 3.静态成员函数的重载。 例子: 1 #include <stdio.h> 2 3 class Test 4 { 5 int i; 6 ...

进击的小尧好程序员 @ 2020/03/24

C++之 ostream详细用法

前言 在 C++中,ostream表示输出流,英文”output stream“的简称。在 C++中常见的输出流对象就是标准输出流cout,很少自定义ostream的对象,更多的是直接使用cout。那么 ostream 有什么用呢,来看一个场景: 1 class CPoint 2 { 3 publi ...

进击的小尧好程序员 @ 2020/03/24

C++ 友元

C++中存在一种朋友关系,这种朋友关系如果体现在函数上,那么我们就称之为友元函数;如果体现在类上,我们就称之为友元类。 1.友元函数 友元函数是指某些虽然不是类成员函数却能够访问类的所有成员的函数。类授予它的友元特别的访问权,这样该友元函数就能访问到类中的所有成员。 1 #include <iost ...

进击的小尧好程序员 @ 2020/03/23

C++ 类(const修饰普通成员函数)

const修饰普通成员函数 我们知道this指针指向的是具体的对象,普通的成员函数存在(加深记忆),设计this指针的时候格式为*const this(常量指针)。 const修饰变量一般有两种方式:const T *a,或者 T const *a,这两者都是一样的,主要看const位于*的左边还是 ...

星yuner @ 2020/03/21

Ubuntu下实现歌词解析

我们要明确目的,实现歌曲歌词同步。 1.将歌词文件一次性去取到内存中。(以周董的“简单爱”为例) a.用fopen打开歌词文件 FILE *fp = fopen(“简单爱.lrc”,"r");(r->只读) b.使用fseek将文件流指针,要定位到文件尾部,ftell或得文件总大小; c.使用rew ...

星yuner @ 2020/03/21

C++ 中的new和delete理解与实操应用

从堆区申请空间,我们在C语言中有malloc、calloc、realloc,但是,我们在C++语言中,我们则是用new和delete来替代他们。 首先,我们来比较一下C中用来申请堆区空间的三个方法(malloc、calloc、realloc): 1.malloc返回一个void指针,C++不允许将v ...

星yuner @ 2020/03/20

C++ 静态成员----细谈static修饰的成员

首先,我们先通过字面意思来理解... 成员:成员变量、成员函数。 static 修饰成员变量,还有修饰成员函数。 static 声明为静态的,称为静态成员。不管这个类创建了多少个对象,静态成员只有一个拷贝,这个拷贝被所有属于这个类的对象共享。 静态成员,属于类 而不是对象。 1.static 修饰成 ...

星yuner @ 2020/03/20

C++ this指针理解

1. this指针的用处: 一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。 请细品以下概念 this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编 ...

星yuner @ 2020/03/20