摘要:
package main import ( "fmt" "sync" ) func ThreeG() { var ch1, ch2, ch3 = make(chan struct{}), make(chan struct{}), make(chan struct{}) var wg sync.Wai 阅读全文
摘要:
#include<string> #include<vector> #include<iostream> #include <algorithm> using namespace std; int ans; int value = 14132; string valueStr = to_string 阅读全文
摘要:
派生类可以不显式的用virtual声明虚函数,这时系统就会用以下规则来判断派生类的一个函数成员是不是虚函数: (1)该函数是否与基类虚函数有相同的名称,参数个数以及对应的参数类型; (2)该函数是否与基类虚函数有相同的返回值或者满足类型兼容规则的指针/引用型的返回值; 如果检查之后,派生类函数就会被 阅读全文
摘要:
一.线程共享的环境如下: 1)进程代码段,进程全局数据 2)进程打开的文件描述符 3)信号处理器 4)进程的当前目录,进程用户ID,进程组ID 二.线程不共享的环境如下: 1)线程ID 2)寄存器组的值 3)线程的堆栈 4)错误返回码 5)线程的信号屏蔽码 6)线程优先级 阅读全文
摘要:
一个C++程序从源代码到执行文件,有四个过程: 一.预编译 (1)将所有#define删除,并且展开所有宏定义 (2)处理所有条件预编译命令,如#if, #ifndef (3)处理#include预编译命令,将被包含的文件插入到该预编译命令的位置 (4)过滤所有注释 (5)添加行号和文件名标识 二. 阅读全文
摘要:
front():返回 queue 中第一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。 back():返回 queue 中最后一个元素的引用。如果 queue 是常量,就返回一个常引用;如果 queue 为空,返回值是未定义的。 push(con 阅读全文
摘要:
assign() 给list赋值 back() 返回最后一个元素 begin() 返回指向第一个元素的迭代器 clear() 删除所有元素 empty() 如果list是空的则返回true end() 返回末尾的迭代器 erase() 删除一个元素 front() 返回第一个元素 get_alloc 阅读全文
摘要:
(1)定义 子集树:所给问题是从N个元素的集合中找出满足某种性质的子集时,相应的解空间树,称为子集树。子集树通常有2^n个叶节点,遍历子集树的任何算法都需要O(2^n)的计算时间。 例如:0-1背包问题的解空间树为一棵子集树。 排列树:当所给的问题是确定N个元素满足某种性质的排列时,相应的解空间称为 阅读全文
摘要:
一.任务门、中断门、陷阱门和调用门的结构图 1.任务门结构图如下所示: 阴影部分表示空闲不用;P标志位,为1时表示在内存中;DPL描述优先级别;类型码101表示任务门。 2.中断门、陷阱门和调用门结构图如下所示: D标志位,1=32位,0=16位;类型码中,110:中断门,111:陷阱门,100,调 阅读全文
摘要:
一、宏观实现 以前介绍过fork()和clone()的区别,下面介绍一下两者在程序接口上的不同: 系统调用__clone()的主要用途是创建一个线程,这个线程可以是内核线程,也可以是用户线程。创建用户空间线程时,可以给定子线程用户空间堆栈的位置,还可以指定子进程运行的起点。同时,也可以用__clon 阅读全文