Есть ли причина для #undefine неопределенного макроса перед #defining его? - PullRequest
0 голосов
/ 07 мая 2018

В проекте, над которым я работаю, я наткнулся на эти строки в заголовочном файле 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

что проще и (для меня) менее запутанно. Есть ли какая-то польза от написания этого как есть?

...