ли сделать макрос который принимает строку char* в качестве аргумента и заменяет исходный код на эту самую строку, вернее не строку, а сам исходный код?
Допустим есть стандартный макрос #define p printf , он заменяет print на p в исходном коде, могу использовать p("Hello"); , но как я не пробовал, я почему-то не могу заменить строку "Name" на Name(не строка, а переменная исходного кода).
#define R(v) v
struct Sample
{
int a;
int b;
char* Name;
};
int main()
{
Sample *sm = new Sample;
sm->R("Name") = "Vasya";
return 0;
}
Чтоб вместо R("Name") появилась переменная Name, и получилось вот такое sm->Name . Или такое невозможно?
Такое невозможно
Вы уже в рефлексию полезли. Там с макросами делать нечего
Обсуждают сегодня