Cú pháp vòng for (x : y) lạ trong C++

ai có thể giải thích giúp mình vòng lặp for này được không ạ:

mình không phải là chuyên về CNTT nhưng đang tìm hiểu về lập trình nên có gì mong mọi người chỉ giúp đừng cười :smiley:
Xin cảm ơn mọi người!

Cái này là cú pháp range-based for, có từ phiên bản C++11.

https://en.cppreference.com/w/cpp/language/range-for

Dịch một cách đơn giản thì câu lệnh đó có nghĩa là

for từng kí tự c trong st1 {
    countSt[c - 'a']++;
}

Tại sao có dấu & bên cạnh c?

Chọn <tên kiểu> &<biến> khi bạn muốn xử lí các phần tử gốc và có thể thay đổi chúng.

String có thể thay đổi được nội dung.

1 Like

Cảm ơn bạn rất nhiều :slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?