Один из примеров, когда это может вас укусить, - это в старые времена макросов C / C ++. Я знаю, что это вопрос C #, но часто стандарты кодирования переносятся без оснований, по которым стандарт был создан в первую очередь.
Если вы не очень осторожны при создании своих макросов, вы можете закончить что вызывает проблемы с операторами if, которые не используют {}.
#define BADLY_MADE_MACRO(x) function1(x); function2(x);
if (myCondition) BADLY_MADE_MACRO(myValue)
Теперь, не поймите меня неправильно, я не говорю, что вы всегда должны {} просто избегать этого проблема в C / C ++, но из-за этого мне пришлось иметь дело с некоторыми очень странными ошибками.