- 博客(4)
- 收藏
- 关注
原创 线程和进程之间的区别
进程和线程的根本区别是进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位。另外区别是资源开销、包含关系、内存分配、影响关系、执行过程等。资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程也
2020-11-19 16:29:05 113 1
原创 static的使用
static 的使用1.1 static声明静态全局变量static变量只能在定义它的文件中使用。这里的文件指的是cpp源文件。如果在头文件中定义了static变量,那么,所有包含这个头文件的源文件都会定义自己的static变量,而不是使用该头文件中的static变量。其实就是有多少个cpp包含了这个头文件,就存在多少个该变量。这样说可能不是很明白,直接看代码吧!a.hstatic bool test = true;void print_test();a.cpp#include "a.h"
2020-11-17 14:16:12 299
原创 auto的一点小记录
今天在review代码的时候看到了auto的使用,简单记录一下1 关于auto的那些首先auto是c++11标准发布的,用于进行自动类型推断。那么大量使用auto关键字,会影响编译效率吗?答案是不会的,因为本来也需要推导出右侧表达式的类型来和左侧进行匹配同样在for循环中也可以使用,对于复杂结构体或类,可以使用&用传址代替传值来提升效率。...
2020-11-14 14:00:26 146
原创 命令模式
1 命令模式1.1 定义“命令模式”将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。1.2 类图1.3 代码// 接口类class Command{public: Command() = default; ~Command() = default;public: virtual void execute() = 0;// 用于执行命令 virtual void undo() = 0;// 用于撤销命令};// 灯类cl
2020-11-06 15:16:55 106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人