2 ms·
Code generation, for example: #define DISALLOW_COPY_AND_ASSIGN(TypeName) \ TypeName(const TypeName&) = delete; \ void operator=(const TypeNam
by kllrnohj 11y ago
Code generation, for example:
#define DISALLOW_COPY_AND_ASSIGN(TypeName) \
TypeName(const TypeName&) = delete; \
void operator=(const TypeName&) = delete
Or for things like compile-time injection of wrappers that you need to be completely gone in production versions. An example would be wrapping all OpenGL calls with glGetError() checks in debug builds.
Modern C++ did not replace macros nor did it even try. some uses of macros were made obsolete (like min/max), but most were not.