Здравствуйте, Аноним, Вы писали:
А>Макросы очень гибкий инструмент, и поэтому не до конца понятно, где их применять... А>Скажем, могу-ли я заменять вызовы часто используемых функций, вызовами макросов, тем самым А>имитируя inline-функции?
Можно, но это не даст большого эффекта. В дотнете и так осуществляется автоматический инлайнинг функций (в релизие, при запуске без отладчика).
А применять макросы нужно там где невозможно обойтись другими стедствами языка или где они не дают удовлетворительного результата (приводят к дублированию кода, порождают не очень быстрый код).
Кроме того макросы применимы там где руки чешутся написать некую программу генерирующую код. По сути макросы это и есть средство удобно сгенерировать код в том месте где это нужно программисту.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.