次のコードがあるとしましょう:
std::vector<T> R;
if (condition) R = generate();
...
for (int i = 0; i < N; ++i) {
const auto &r = (R.empty() ? generate() : R);
}
に関係なく、generate が呼び出されるようですR.empty()
。それは標準的な動作ですか?
次のコードがあるとしましょう:
std::vector<T> R;
if (condition) R = generate();
...
for (int i = 0; i < N; ++i) {
const auto &r = (R.empty() ? generate() : R);
}
に関係なく、generate が呼び出されるようですR.empty()
。それは標準的な動作ですか?