前言
在介绍一下的内容之前,先介绍两个表:R和 S,内容如下:
表 R
| A | B | C |
|---|---|---|
| a1 | b1 | 1 |
| a2 | b2 | 2 |
| a3 | b2 | 3 |
| a4 | b3 | 4 |
表 S
| B | D |
|---|---|
| b1 | 5 |
| b2 | 6 |
| b4 | 7 |
笛卡尔积
两个表的笛卡尔积定义为:
\begin{equation} R \times S = \{<t,g> \mid t \in R \quad AND \quad g \in S\} \end{equation}
在介绍一下的内容之前,先介绍两个表:R和 S,内容如下:
表 R
| A | B | C |
|---|---|---|
| a1 | b1 | 1 |
| a2 | b2 | 2 |
| a3 | b2 | 3 |
| a4 | b3 | 4 |
表 S
| B | D |
|---|---|
| b1 | 5 |
| b2 | 6 |
| b4 | 7 |
两个表的笛卡尔积定义为:
\begin{equation} R \times S = \{<t,g> \mid t \in R \quad AND \quad g \in S\} \end{equation}
为了减少程序并发执行的时空开销,使得并发粒度更细,并发性更好,把进程的两项功能(独立分配资源和被调度分派执行)分开得到线程。线程是操作系统进程中能够独立执行的实体,是处理器调度和分派的基本单位。
emacs 启动在 lisp 源码里的顶级目录中的 startup.el 文件,如
/usr/share/emacs/26.1/lisp/startup.el
运行 load-path 里面每个目录中的 subdirs.el 文件,递归的把所有把子目录添加到路径中。
运行 load-path 中找到的用户创建的 leim-list.el 文件,Emacs 自带的忽略掉。这个文件用于注册输入法。
sed 是一个按行处理基本文本的流式处理命令,stream editor 的缩写。它每次只能处理输入文本中的一行,输入的文本可以来自文件或者管道。
sed 常常用于过滤输入的文本,快速的替换等。具体看下面的讲解。
在 C++中,如果一个类中有一个指针成员,就要特别注意拷贝构造函数,一不小心就会出现内存泄露。一个经典的浅拷贝例子:
| |
稍微改下实现深拷贝