Suppose I have a function named caller, which will call a function named callee:
void caller() { callee(); }
Now caller might be called m
Inspired by some people, I think just use a macro to wrap comma expression would also make the intention clear:
#define CALL_ONCE(func) do {static bool dummy = (func, true);} while(0)