空指针
1 | |
常量指针与指针常量
| 声明 | 性质 |
|---|---|
const int x; |
x 不可修改 |
int *p; |
不能指向 const int |
常量指针:const int *cp; |
*cp 不可修改,cp 可修改 |
指针常量:int * const p; |
p 的指向不可修改,*p 可修改 |
1 | |
1 | |
| 声明 | 性质 |
|---|---|
const int x; |
x 不可修改 |
int *p; |
不能指向 const int |
常量指针:const int *cp; |
*cp 不可修改,cp 可修改 |
指针常量:int * const p; |
p 的指向不可修改,*p 可修改 |
1 | |
1 | |
#include、#define、#ifdef、#pragma 的不同处理键值数据库(key-value store)是一张简单的哈希表(hash table),主要用在所有数据库访问均通过主键(primary key)来操作的情况下。

商业活动(Business Activity):例如,用户浏览产品目录,选中了一瓶价格很实惠的 Talisker 威士忌,填入信用卡信息,然后确认订单。
需要确保最终一致性,但是出于时间、交互的考虑,无法使用事务加以实现
条件更新(conditional update),客户端执行操作时,将重新读取商业活动所依赖的信息,并检测该信息在首次读取之后是否一直没有变动,若一直未变,则将其展示给用户。
关系型数据库试图通过强一致性来避免各种不一致的问题。NoSQL 领域则讨论 CAP 定理和最终一致性。
解决方式:
在领域驱动设计中,把一组相互关联的对象视为一个整体单元来操作,而这个单元就叫聚合(aggregate)。


基于关系代数(relational algebra),关系模型把数据组织成关系(relation)和元组(tuple)。元组是由键值对(name-value pair)构成的集合,而关系则是元组的集合。
SQL 操作所使用及返回的数据都是关系元组不能包含嵌套记录(nested record)或列表(list)等任何结构。而内存中的数据结构则无此限制,它可以使用的数据组织形式比关系更丰富。
关系模型和内存中的数据结构之间存在差异。这种现象通常称为阻抗失谐。