В проекте, над которым я работаю, я наткнулся на эти строки в заголовочном файле C:
#ifndef SOME_CONSTANT
#undef SOME_CONSTANT
#define SOME_CONSTANT "SOME_STRING"
#endif // SOME_CONSTANT
Насколько я понимаю, #undef
не будет иметь никакого эффекта, так как макрос не определен. Так что это можно переписать как
#ifndef SOME_CONSTANT
#define SOME_CONSTANT "SOME_STRING"
#endif // SOME_CONSTANT
что проще и (для меня) менее запутанно. Есть ли какая-то польза от написания этого как есть?