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).
1. for cổ điển (dựa vào chỉ số)
Phần tiêu đề “1. for cổ điển (dựa vào chỉ số)”#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++)
2. Biến thể của for
Phần tiêu đề “2. Biến thể của for”// Lặp lùifor (int i = 5; i > 0; i--) { std::cout << i << " ";}// 5 4 3 2 1
// Bước nhảy khác 1for (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 << " ";}Tổng kết
Phần tiêu đề “Tổng kết”forcổ đ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