摘要:
概要 filename 文件名 dir 文件夹名 string 字符串 username 用户名 groupname 组名 regex 正则表达式 path 路径 partition 分区名 IP IP地址 domain 域名 PID 进程ID host 主机名 文件命令 文件系统 du -sh d 阅读全文
摘要:
进程的状态 进程的基本状态 就绪:进程已获得除处理机以外的所需资源,等待分配处理机资源 执行:进程正在占用处理机资源执行 阻塞:进程等待某种条件,在条件满足之前无法执行。例如发起I/O系统调用,等待I/O中断发生 挂起 挂起指将暂不执行的进程换出到外存,节省内存空间。 与阻塞相比都是进程暂停执行的状 阅读全文
摘要:
一.进程 进程是资源分配的基本单位。 进程控制块(PCB)描述进程的基本信息和运行状态,例如创建进程与销毁进程都是指对PCB的操作。 二.线程 线程是独立调度的基本单位。 一个进程中可以有多个线程,共享进程资源。 浏览器是一个进程,里面有很多线程,例如HTTP请求线程,事件响应线程,渲染线程等等。而 阅读全文
摘要:
C++提供了四个智能指针模版类,分别为:auto_ptr,unique_ptr,shared_ptr与weak_ptr(其中auto_ptr为C++98提供的解决方案,在C++11中已废除,并提供另外三种)。这三者均定义了类似指针的对象,可以将new获得(直接或间接)的地址赋给这种对象。当智能指针过 阅读全文
摘要:
#一.const_cast 用于修改类型的const或volatile属性。 常量指针转化为非常量的指针,并仍会指向原来的对象。 常量引用转化为非常量的引用,并仍会指向原来的对象。 const_cast一般用于修改底指针,如const char* p形式。 例如: const int num = 5 阅读全文
摘要:
#一.new与delete ##1. new与delete函数原型: void *operator new(size_t); void *operator delete(void *) ##2. new与delete的运行机制 class A{ public: A(int v) : var(v){ 阅读全文
摘要:
#一.const常量与#define比较 define只是简单的替换,没有类型,const可以做到防窜改与类型安全。 而且#define会在内存中可能(有几次替换就有几次拷贝)有多份拷贝,对于字面值常量加不加const都一样,例如:const char* arr = “123”;,储存在常量区,只有 阅读全文
摘要:
#一.树的先序遍历(迭代) 首先我们要给出树的结点类,提供所有遍历通用的接口: #define BinNodePosi(T) BinNode<T>* //结点位置 template<typename T> struct BinNode{ BinNodePosi(T) parent, lChild, 阅读全文
摘要:
#一.基本解释 extern关键字可以置于变量或者函数前,以标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义。所以一般extern关键字后面跟着的都是声明。 它有两个作用: 当extern与"C"一起连用时,如:extern "C" void fun(int a 阅读全文
摘要:
一.全局静态变量 no-local static(全局变量前加static关键字) 全局静态变量储存在静态存储区,在程序运行期间一直存在。 初始化:未经初始化的全局静态变量自动初始化为0(静态全局对象值随机) 作用域:在声明它的文件之外不可见,从定义之处开始,到文件结尾。 二.局部静态变量 loca 阅读全文