Ваше утверждение, что этот шаблон недопустим в C, C ++ и Java, полностью неверно.
Я отсылаю вас к:
Язык программирования C, 2-е издание, раздел A9.2:
... конструкция называется нулевым оператором; оно часто используется для предоставления пустого тела для оператора итерации ...
Язык программирования C ++, 2-е издание, раздел r.6.2
Оператор выражения с отсутствующим выражением называется нулевым оператором; это полезно ... предоставить нулевое тело для оператора итерации ...
Спецификация языка Java, 1-е издание, раздел 14.5
Пустой оператор ничего не делает.
Спецификация языка C #, 4-е издание, раздел 8.3:
Пустой оператор используется, когда нет операций для выполнения в контексте, где требуется оператор.