原子C ++ 在找到的Atom / Cursor状态模型的非常基本完整的实现(该又基于 )。 这只是为了说明概念,以及在C ++中实现类似功能的一些挑战。 通常的想法是将应用程序状态存储在一个位置,并使用包装器进行访问和更新。 使用get访问状态时,返回值是不可变的,修改应用程序状态的唯一方法是使用set或update方法。 可以使用在发生更改时将被调用的函数来预订Atom 。 Cursor提供对状态的单个值的读/写/订阅。 History用于跟踪所有状态更改,并还原以前的状态。 s 亚瑟·卡拉博特(Arthur Carabott)