所以,假设我使用成员函数创建一个对象,如下所示:
template <typename T> class MyClass {
T state_;
public:
MyClass &MyFunction(stateType state) {
Order_Dependent_Change_Of_State(state);
return *this;
}
};
现在,说我去做以下事情:
MyClass <sometype> IAmBeingLazyOrClever;
IAmBeingLazyOrClever
.MyFunction(state1)
.MyFunction(state2)
.MyFunction(state3)
;
是否保证状态更新的顺序,以便在state3之前的state2之前应用state1?什么时候启用优化?
答案 0 :(得分:1)
保证程序的行为就像按照所写顺序调用方法一样。
答案 1 :(得分:1)
这些方法将按顺序调用 ,以便可以返回对类的引用,以便进行后续(链接)调用。优化对此没有影响。所以,是的,通过每次连续调用更新对象的_state
。