The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.
The downside of C/C++ macros is that there is no specific syntax to invoke them. So they can just randomly rename things in your code because you happened to name something the same as some macro that you never even knew existed.
I'm sure most C++ programmers have had some scenario, if they are interacting with system APIs, where they get an error saying that XYZ doesn't exist but you don't have anything in your entire code base named XYZ. And it turns out there's a macro that translates ABC to XYZ, and you named something ABC.
I wouldn't go that far. You don't have any to use that stuff while still getting a lot of benefits from C++ over C. My system has a fairly minimal set of templates, just where they really add something important. RAII (though I think the concept is much broader and call them Janitors) I use a lot. They are one of the best things about C++. I have janitors for lots of things, not just allocating and deleting things, but setting or changing things on a scoped basis and such.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
"I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle
Due at the end of the year as a 10-part TV series: Star Trek: Picard - Wikipedia[^] - I guess it depends what it is concerned with whether it's any good (I can't see 10 hours of "Winemaking in the 24th Century" being that enthralling).
Sent from my Amstrad PC 1640 Never throw anything away, Griff
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
AntiTwitter: @DalekDave is now a follower!