01/10/2018, 11:48
Thắc mắc về cách duyệt vòng lặp for
#include<iostream>
int main()
{
int arr[5] = { 1, 2, 3, 4, 5 };
for (int x : arr)
{
std::cout << x << std::endl;
}
system("pause");
return 0;
}
Mình đã thử dụng vòng lặp for như trên để duyệt mảng và cho kết quả đúng (kể cả đối với vector và chuỗi cũng cho kết quả đúng), mình thấy cách này nhanh gọn nhưng sao cách này lại thấy ít người dùng, các bạn có thể giải thích hộ mình. Mình xin cảm ơn.
Bài liên quan
Vì nó không còn là cơ bản nữa rồi. Đối với người dạy thì hạn chế việc dùng các ký hiệu tắt
Cái của bạn thực ra nó như thế này:
Bây giờ nó còn dễ hiểu. Đến lúc bạn gặp những code kiểu show skill, chương trình 10 dòng viết trong 3 dòng toàn
?
vói:
, đôi khi còn cả^
với&
thì bạn sẽ muốn đập thằng code 1 trận.Không ít người dùng đâu.
Nếu bạn bắt đầu và xem các project sử dụng modern C++ (>=11) thì họ sẽ chuyển toàn bộ về
for each
kiểu này khi có thể.Hàm này tất cả các ngôn ngữ hiện hành phải tới 90% hỗ trợ rồi nên nó cũng không có gì xa lạ và khó hiểu cả.
Giả sử trong 1 hàm get ID của 1 đối tượng nằm trong array, người ta sẽ ưu tiên sử dụng
for each
hơn là sử dụngfor i
Hiện tại hàm này chưa hỗ trợ trực tiếp
index
cho tới C++17, tuy nhiên trong tương lai (có thể C++20) sẽ được thêm vào.Vì nó mới được đưa vào chuẩn C++11 (2011) nên chưa phổ biến lắm.
Đến hiện tại các hướng dẫn dậy C++ vẫn xen lẵn việc dạy các tính năng của C nữa.