C++
文章平均质量分 60
C++相关知识、笔记、记录等
xw-何妨吟啸且徐行
嵌入式软件开发,汽车域控制器开发,消息中间件开发,致力于自动驾驶领域持续深耕。
展开
-
C++ —— 观察者模式简记
//Observer.h#pragma once#include <stdio.h>#include <mutex>#include <list>#include <iostream>using namespace std;class CObserver{public: CObserver(int nType); virtual ~CObserver() {}; virtual void OnNotify(int nEvent原创 2021-07-30 19:22:05 · 136 阅读 · 0 评论 -
单例模式简记
#pragma once#include <iostream>//单例模式 - 饿汉式class A{public: static A* GetInstance(); static void deleteInstance(); void Printf();private: A(); A(const A& a); const A& operator=(const A& single); ~A();private: //唯一单实例对象指针.原创 2021-07-30 16:46:08 · 135 阅读 · 0 评论 -
C++ —— 三大函数(big three):拷贝构造,拷贝赋值,析构函数
C++三大函数:拷贝构造函数 拷贝赋值函数 析构函数设计一个CMyString类,实现上述三大函数,手撕代码如下:#pragma once#pragma warning(disable:4996)#include <iostream>#include <cstring>class CMyString{public: CMyString(const char* pStr); CMyString(const CMyString& str);原创 2021-07-30 16:20:03 · 678 阅读 · 0 评论 -
随笔:候捷-C++面向对象高级开发(上)
1.Head(头文件)中的防卫式声明:2. class template (模板)简介3. inline(内联)函数4. constructor (ctor, 构造函数)5. ctor(构造函数)可以有很多个 —— overloading(重载)6.constructor(ctor,构造函数)被刚在private区的应用 —— 设计模式:单例模式单例模式的写法:7. 参考 ...原创 2021-07-11 11:39:20 · 131 阅读 · 0 评论 -
C++基础随笔011——map容器
map容器1、map简介:map中所有元素都是pair(对组) pair中第一个元素为key(键值),起到索引作用,第二个元素为value(实值) 所有元素都会根据元素的键值自动排序2、本质:map/multimap属于关联式容器,底层结构是用二叉树实现。3、优点:可以根据key值快速找到value值。4、map和multi区别:map不允许容器中有重复key值元素 multimap允许容器中有重复key值元素5、map构造和赋值...原创 2021-03-21 15:59:59 · 142 阅读 · 0 评论 -
C++基础随笔010——set容器
set/multiset容器1、set简介:所有元素都会在插入时自动被排序。2、本质:set/multiset属于关联式容器,底层结构是用二叉树实现。3、set和multiset区别:set不允许容器中有重复的元素 multiset允许容器中有重复的元素4、set构造和赋值功能描述:创建set容器以及赋值 构造:set<T> st; //默认构造函数set(const set &st); //拷贝构造函数赋值:se...原创 2021-03-21 15:34:40 · 229 阅读 · 0 评论 -
C++基础随笔009——list容器
list容器1、功能:将数据进行链式存储。2、链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的。3、链表的组成:链表由一系列节点组成。 节点的组成:一个是存储数据元素的数据域,另一个是存储下一个节点的指针域。4、STL中的链表是一个双向循环链表。5、由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器。...原创 2021-03-21 14:05:02 · 217 阅读 · 0 评论 -
C++基础随笔008——stack/queue容器
stack容器1、stack是一种先进后出(First in Last Out, FILO)的数据结构,它只有一个出口。2、栈中只有顶端的元素才可以外界使用,因此栈不允许有遍历行为。3、stack常用接口功能描述:栈容器常用的对外接口。 构造函数:stack<T> stk; //stack采用模板类实现,stack对象的默认构造形式stack(const stack &stk); //拷贝构造函数赋值操作:stack& operator=..原创 2021-03-20 23:54:21 · 119 阅读 · 0 评论 -
C++基础随笔007——deque容器
1、deque赋值操作功能:给deque容器进行赋值 函数原型:deque& operator=(const deque &deque); //重载等号操作符assign(beg, end); //将[beg, end]区间中的数据拷贝赋值给本身assign(n, elem); //将n个elem拷贝赋值给本身2、deque大小操作功能:对deque容器的大小进行操作 函数原型:deque.empty(); //判断容器是否为空dequ...原创 2021-03-20 13:00:00 · 119 阅读 · 0 评论 -
C++基础随笔006——vector容器
1、vector容器功能:vector数据结构和数组非常相似,也称为单端数组。2、vector与普通数组的区别:不同之处在于数组是静态空间,而vector可以动态扩展。 动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝到新空间,释放原空间。 vector容器的迭代器是支持随机访问的迭代器。3、vector赋值操作功能描述:给vector容器进行赋值。 函数原型:vector& operator=(const vect...原创 2021-03-20 02:06:00 · 138 阅读 · 0 评论 -
C++基础随笔005
1. STL1.1 STL基本概念(1)STL(Standard Template Library):标准模板库(2)STL从广义上分为:容器(container)、算法(algorithm)、迭代器(iterator)(3)容器和算法之间通过迭代器进行无缝连接(4)STL几乎所有的代码都采用了模板类或者模板函数1.2、STL六大组件STL大体分为六大组件,分别是:容器、算法、迭代器、仿函数、适配器(配接器)、空间配置器。(1)容器:各种数据结构,如vecto...原创 2021-03-19 00:42:06 · 96 阅读 · 0 评论 -
C++基础随笔004
25、类和对象(1)C++面型对象的三大特性:封装、集成、多态。(2)C++认为万物皆可为对象,对象上有其属性和行为。(3)封装1)封装的意义:将属性和行为作为一个整体,表现生活中的事物。 将属性和行为加以权限控制。2)封装的意义一:在设计类的时候,属性和行为写在一起,表现事物。 语法: class 类名 { 访问权限: 属性 / 行为 };3)封装的意义二:在设计类的时候,可以把属性和行为放在不同的权限下,加以控制: 访问权限有三种: public 公共权限 p原创 2021-03-14 15:24:39 · 125 阅读 · 0 评论 -
C++基础随笔003——引用
23、引用:(1)作用:给变量起别名;(2)数据类型: &别名 = 原名;(3)注意事项:1)引用必须初始化;2)引用在初始化后,不可以改变;(4)引用做函数参数:1)作用:函数传参时,可以利用引用的技术让形参修饰实参;2)优点:可以简化指针修改实参,即:通过引用参数产生的效果同按地址传递时一样的,引用的语法更简单。(5)引用做函数返回值:1)作用:引用是可以作为函数的返回值存在的;2)注意:不要返回局部变量的引用;3)用法:函数调用作为左值;如:原创 2021-03-14 15:15:40 · 151 阅读 · 0 评论 -
C++基础随笔002
8、值传递(1)所谓值传递,就是函数调用时实参将数值传入给形参。(2)值传递时,如果形参发生改变,并不会影响实参,即值传递时,形参是修饰不了形参的。9、指针:(1)作用:可以通过指针间接访问内存。(2)可以通过解引用的方式来找到指针指向的内存。(3)指针前加 * 代表解引用,可以找到指针指向的内存中的数据。(4)在32位操作系统下,指针是占4个字节空间大小,与数据类型无关; 在64位操作系统下,指针是占8个字节空间大小。10、空指针和野指针...原创 2021-03-14 15:07:22 · 136 阅读 · 0 评论 -
C++基础随笔001
1、sizeof关键字作用:统计数据类型所占内存大小。语法:sizeof( 数据类型 / 变量 )。2、字符型 char(1)C和C++字符型变量只占用1个字节。(2)字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到存储单元。(3)字符型变量对应的ASCII编码, a - 97 A - 65。3、转义字符(1)作用:用于表示一些不能显示出来的ASCII字符。(2) \n 换行\\ 代表一个反斜杠字符"\"\t 水平制表(调到下..原创 2021-03-14 14:58:15 · 158 阅读 · 0 评论