我有一个类存储对某种应用程序状态的引用,然后在操作期间它会发生变化:
class Mutator {
private:
State& _state;
public:
Mutator(State& state);
...
};
Mutator::Mutator(State& state) : _state(state) {
}
...
通常我会创建并传递state
这样的:
State state;
Mutator mutator(state);
如果我像这样初始化 Mutator,我的 Mutator 类中的状态引用会发生什么:
Mutator mutator(State());
我假设,由于状态引用是临时的,Mutator._state
成员将指向一个内存位置,该位置可能包含也可能不包含导致不可预测行为的状态值。它是否正确?