Я занимаюсь разработкой C++ менее года, но за это время я слышал от многих людей, что #define
это ужасно. Теперь я понимаю, что он интерпретируется препроцессором, а не компилятором, и поэтому не может быть отлажен, но так ли это плохо?
Вот пример (непроверенного кода, но общее представление вы поняли):
#define VERSION "1.2"
#include <string>
class Foo {
public:
string getVersion() {return "The current version is "+VERSION;}
};
#define
?