Bỏ qua để đến nội dung

Vòng lặp for

C++ có hai dạng vòng lặp for: dạng cổ điển (dựa vào chỉ số) và dạng hiện đại (range-based for, từ C++11).

#include <iostream>
int main() {
for (int i = 0; i < 5; i++) {
std::cout << i << " ";
}
// 0 1 2 3 4
return 0;
}

Cấu trúc: for (khởi_tạo; điều_kiện; bước_nhảy) { ... }

  • Khởi tạo: chạy một lần duy nhất trước vòng lặp (int i = 0)
  • Điều kiện: kiểm tra trước mỗi lần lặp, dừng khi false (i < 5)
  • Bước nhảy: chạy sau mỗi lần lặp (i++)
// Lặp lùi
for (int i = 5; i > 0; i--) {
std::cout << i << " ";
}
// 5 4 3 2 1
// Bước nhảy khác 1
for (int i = 0; i < 10; i += 2) {
std::cout << i << " ";
}
// 0 2 4 6 8
for (int i = 2; i < 10; i += 2) {
std::cout << i << " ";
}
  • for cổ điển: for (khởi_tạo; điều_kiện; bước_nhảy) - linh hoạt, giống C
  • Range-based for (kiểu bien : container) (C++11): gọn gàng, dùng để duyệt trực tiếp phần tử của container
  • Dùng & (tham chiếu) trong range-based for để sửa đổi phần tử hoặc tránh sao chép không cần thiết