Доступ и изменение переменных с помощью конкатенации токенов в C

$ - функция. метод $ может возвращать любую вещь.

Например:

$ = function() {
     return {
                 foo : function() { return 'baa'; },
                 r1: 1,
                 r2 : 'string'
            }
};

typeof $ <- function 
typeof $() <- object
typeof $().foo <- function 
typeof $().foo() <- string
typeof $().r1; <- number 
typeof $().r2 <- string
-1
задан Jonathan Leffler 17 January 2019 в 18:32
поделиться

1 ответ

Ваше ожидание того, что a##dummyvar оценит a<value of dummyvar>, в корне неправильно понимает, что делают макросы (то есть простая подстановка текста). Вывод adummy правильный.

Вы не можете добиться динамического доступа к значениям переменных во время выполнения с помощью макросов, как вы пытаетесь здесь, поскольку они оцениваются до компиляции и не знают состояния программы во время выполнения.

0
ответ дан Govind Parmar 17 January 2019 в 18:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: