This is not correct. They evaluate at the point where they are expanded.
I’ve used them countless of times to implement “log” and “trace” macros that show file/line.
I’ve used them countless of times to implement “log” and “trace” macros that show file/line.
Edit: Sorry I am on multiple drugs at the moment for a severe fracture - I'm a bit confused, nurse has just been. I will shut up now.
To prove I am not completely out of it (though wrong), here's one I wrote a lot earlier: https://latedev.wordpress.com/2012/08/09/c-debug-macros/