What does this program print?

from Operator overloading
C++23 intermediate 2 min

What does this program print?

C++
#include <iostream>

struct Flag {
    bool value;
};

Flag operator&&(Flag left, Flag right) {
    return {left.value && right.value};
}

Flag probe() {
    std::cout << "probe\n";
    return {false};
}

int main() {
    Flag disabled{false};
    Flag result = disabled && probe();
    std::cout << std::boolalpha << result.value << '\n';
}
Open in playground
Report an error