Loop infinito em C / C ++ [fechado]

Existem várias possibilidades para fazer um loop infinito, aqui estão algumas que eu escolheria:

for(;;) {}while(1) {} / while(true) {}do {} while(1) / do {} while(true)

Existe alguma forma que se deve escolher? E os compiladores modernos fazem a diferença entre o meio e a última afirmação ou percebe que é um loop infinito e ignora completamente a parte de verificação?

Edit: como foi mencionado eu esquecigoto, mas isso foi feito fora do motivo que eu não gosto como um comando em tudo.

Edit2: Eu fiz um pouco de grep nas últimas versões do kernel.org. Eu parece como nada muito mudou ao longo do tempo (dentro do Kernel, pelo menos)

questionAnswers(12)

yourAnswerToTheQuestion