Безопасно ли вкладывать вызовы макросов?

Я тестировал несколько вызовов вложенных макросов, и они работали, как и ожидалось (... как я и ожидал! )Например, предположим, что фиктивный макрос add и следующее выражение:

add(1, add(2, 3))

Во-первых, внутренний адд расширяется (2 + 3 ), а во-вторых, внешний делает свою часть (1 + (2 + 3 )). Я видел, что внешний макрос не получает никакого шума от внутреннего вызова -во входном выражении -, поэтому внутреннее расширение кажется ему полностью прозрачным. Всегда ли этот факт сохраняется (даже с более сложными макросами и типами )? Безопасно ли это делать?

5
задан jeslg 4 July 2012 в 06:56
поделиться