C++ 编译器可以假设 'const bool &' 值不会改变吗?
例如,假设我有一堂课:
class test {
public:
test(const bool &state)
: _test(state) {
}
void doSomething() {
if (_test) {
doMore();
}
}
void doMore();
private:
const bool &_test;
};
我使用它如下:
void example() {
bool myState = true;
test myTest(myState);
while (someTest()) {
myTest.doSomething();
myState = anotherTest();
}
}
标准是否允许编译器假设_test的值不会改变。
我认为不是,只是想确定一下。