跳至主内容
框架 无框架

类IlcRevInt

定义文件: ilcp/cpext.h
包含文件: <ilcp/cpextilcp/cpext.h
IlcRevInt的地图IlcRevIntIlcRevInt
整数值的可逆类。

IlcRevInt是基本预定义类型 "IlcInt的可逆版本。 可逆版本更容易恢复之前的状态。 该类有一个与 "IlcInt相对应的值数据成员。 CP 优化器回溯时,会自动恢复该值数据成员。

该类不是句柄类。 应直接使用该类对象,而不是通过指向它们的指针。 不要将 "IlcRevInt实例创建为自动对象(即在 C++ 栈中分配的对象)。 不要按值传递。

如果需要,"IlcRevInt类对象会自动转换为基本类型 "IlcInt。 该可逆类的实例可用作数据成员。 但是,不要将它们用作自动变量的类型("自动 "具有 C++ 的通常含义),因为这种做法会导致内存访问错误。 不要将它们作为参数传递。

IlcRevInt"实例的行为与 "IlcInt实例非常相似;它们行为的不同之处在于赋值。 事实上,当 CP 优化器回溯时,所有可逆赋值都会被撤销。

更多信息,请参阅CP 优化器中的状态CP 优化器中的可逆性概念。

另请参阅:

方法概要
public IlcIntgetValue() const
public IlcRevInt(IlcCPEngine solver, IlcInt initValue=0)
public operator IlcInt() const
public voidsetValue(IlcCPEngine solver, IlcInt value)
方法详细信息

IlcRevInt

公共 'IlcRevInt(IlcCPEngine'求解器, 'IlcInt'初始值=0)

构造函数会创建一个新对象,即 "IlcRevInt的实例。


getValue

publicIlcInt getValue() const

该成员函数用于访问 "IlcRevInt实例的值。


操作符IlcInt

公共运算符 IlcInt() 常量

此操作符返回 "IlcRevInt实例的值。 换句话说,该操作符会自动将 "IlcRevInt实例转换为 "IlcInt实例。


setValue

public voidsetValue(IlcCPEngine solver,IlcInt value)

该成员函数通过可逆赋值 "value来修改调用对象的值。 当 CP 优化器回溯时,这种可逆修改将被撤销。