跳至主内容
框架 无框架

类IlcRevFloat

定义文件: ilcp/cpext.h
包含文件: <ilcp/cpextilcp/cpext.h
IlcRevFloat的地图IlcRevFloatIlcRevFloat
浮点数值的可逆类。

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

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

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

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

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

另请参阅:

方法概要
public IlcFloatgetValue() const
public IlcRevFloat(IlcCPEngine solver, IlcFloat initValue=0.)
public operator IlcFloat() const
public voidsetValue(IlcCPEngine solver, IlcFloat value)
方法详细信息

IlcRevFloat

publicIlcRevFloat(IlcCPEngine solver,IlcFloat initValue=0.)

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


getValue

publicIlcFloat getValue() const

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


操作符IlcFloat

公共运算符 IlcFloat() 常量

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


setValue

public voidsetValue(IlcCPEngine solver,IlcFloat value)

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