| 概述 | 组 | 树 | 图形 | 不推荐 | 索引 | 概念 |

IlcRevInt是基本预定义类型 "IlcInt的可逆版本。 可逆版本更容易恢复之前的状态。 该类有一个与 "IlcInt相对应的值数据成员。 CP 优化器回溯时,会自动恢复该值数据成员。
该类不是句柄类。 应直接使用该类对象,而不是通过指向它们的指针。 不要将 "IlcRevInt实例创建为自动对象(即在 C++ 栈中分配的对象)。 不要按值传递。
如果需要,"IlcRevInt类对象会自动转换为基本类型 "IlcInt。 该可逆类的实例可用作数据成员。 但是,不要将它们用作自动变量的类型("自动 "具有 C++ 的通常含义),因为这种做法会导致内存访问错误。 不要将它们作为参数传递。
IlcRevInt"实例的行为与 "IlcInt实例非常相似;它们行为的不同之处在于赋值。 事实上,当 CP 优化器回溯时,所有可逆赋值都会被撤销。
更多信息,请参阅CP 优化器中的状态和CP 优化器中的可逆性概念。
另请参阅:
IlcRevAny,IlcRevBool,IlcRevFloat
| 方法概要 | |
|---|---|
public IlcInt | getValue() const |
public | IlcRevInt(IlcCPEngine solver, IlcInt initValue=0) |
public | operator IlcInt() const |
public void | setValue(IlcCPEngine solver, IlcInt value) |
| 方法详细信息 |
|---|
构造函数会创建一个新对象,即 "IlcRevInt的实例。
该成员函数用于访问 "IlcRevInt实例的值。
此操作符返回 "IlcRevInt实例的值。 换句话说,该操作符会自动将 "IlcRevInt实例转换为 "IlcInt实例。
该成员函数通过可逆赋值 "value来修改调用对象的值。 当 CP 优化器回溯时,这种可逆修改将被撤销。