Значение "..." и "##" в определении макроса - PullRequest
0 голосов
/ 07 декабря 2011
#define MyLog(msg...) MyLogWith(__func__,##msg);

MyLog(@"I do not know...");

Что означают ... и ## в этом определении? Есть ли в них особый смысл в сочетании с msg: msg.. или ##msg?

1 Ответ

3 голосов
/ 07 декабря 2011

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

#define MyLog(args...) MyLogWith(__func__,##args);

сделает то же самое

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...