Quay lại những ngày C / C ++ của tôi, mã hóa một "vòng lặp vô hạn" là
while (true)
cảm thấy tự nhiên hơn và dường như rõ ràng hơn đối với tôi thay vì
for (;;)
Một cuộc gặp gỡ với PC-lint vào cuối những năm 1980 và các cuộc thảo luận về các phương pháp hay nhất sau đó đã khiến tôi không còn thói quen này. Tôi đã viết mã các vòng lặp bằng cách sử dụng for
câu lệnh điều khiển. Hôm nay, lần đầu tiên sau một thời gian dài, và có lẽ lần đầu tiên tôi cần một vòng lặp vô hạn với tư cách là một nhà phát triển C #, tôi đang đối mặt với tình huống tương tự. Một trong số chúng có đúng và cái còn lại thì không?
while(true)
yêu cầu một điều kiện. for(;;)
do đó là cách biểu diễn tốt hơn cho các vòng lặp vô hạn lặp lại vô điều kiện. 2. Các trình biên dịch cũ chưa tối ưu hóa có thể đã thực sự đánh giá (true)
khi nó lặp lại. 3. C là một ngôn ngữ tối giản từ thời của teletypes, thiết bị đầu cuối 300 baud và tên biến 1-char. Trong môi trường mà mọi hành trình phím đều được tính, for(;;)
ngắn hơn một chút so với while(true)
.