Các Phương Pháp Duyệt Qua Các Phần Tử Của Một Container Trong C++
Có thể bạn quan tâm
Trong C++, vòng lặp để duyệt qua các phần tử của một container (array, stack, queue, list, vector, map, unordered_map, set,…) có thể thực hiện bằng nhiều cách.
1. Sử dụng index
C++ for(size_t i = 0; i < c.size(); ++i) c[i] = 0;1 | for(size_ti=0;i<c.size();++i)c[i]=0; |
Cách trên thì được cái đơn giản nhưng lại dễ bị sử dụng nhầm toán tử so sánh hoặc dùng nhầm biến index. Quan trọng là những lỗi kiểu này có thể không phát hiện được khi compile mà chỉ xảy ra lúc runtime, gây khó khăn khi điều tra. Ví dụ như sau →
C++ for(size_t i = 0; i <= c.size(); ++j) c[i] = 0;1 | for(size_ti=0;i<=c.size();++j)c[i]=0; |
2. Sử dụng iterators
Cũng có thể duyệt qua các phần tử của container sử dụng iterator với hạn chế tương tự như dùng index. Tuy nhiên chỉ có thể áp dụng với những container nào có hàm begin() và end() → C++ for(iterator it = c.begin(); it != c.end(); ++it) (*it) = 0;1 | for(iterator it=c.begin();it!=c.end();++it)(*it)=0; |
3. Sử dụng for kết hợp với range-based và auto keyword
Từ C++11 thì chúng ta có thể duyệt qua các phần tử của container bằng cách như sau → C++ for(auto& x : c) x = 0;1 | for(auto& x : c) x = 0; |
4. Sử dụng auto, begin, end
Cũng từ C++11 chúng ta có thể duyệt như sau → C++ for(auto current = c.begin(), end = c.end(); current != end; ++current) { cout << ' ' << *current; // ... }12345 | for(auto current=c.begin(),end=c.end();current!=end;++current){cout<<' '<<*current;// ...} |
— Phạm Minh Tuấn (Shun) —
- auto
- container
- Cplusplus
- looping
- range-based
Các lỗi thường gặp khi biên dịch C/C++ source code bằng GCC
Tiếp theoTạo random number bằng thư viện chuẩn của C++
Tìm kiếm cho:Facebook Page
Ads
Forum
Bài viết mới
-
Ý nghĩa của Change-Id trong Gerrit Code Review
Tháng Một 27, 2022 0 -
Android Automotive OS – Android based platform dành cho ô tô
Tháng Một 19, 2022 0 -
Dùng song song 2 mạng Ethernet và Wifi trên Windows
Tháng Chín 27, 2021 0 -
Một số cách convert number sang string trong C++
Tháng Năm 7, 2021 0 -
Toán tử ‘typeid’ trong C++
Tháng Ba 8, 2021 0 -
Bộ tiền xử lý – Preprocessor trong C/C++
Tháng Mười Hai 28, 2020 0 -
Cùng tìm hiểu về Base64 encoding
Tháng Mười Một 4, 2020 0
Chuyên mục
- 4 TÍNH CHẤT CỦA OOP
- BEST PRACTICES
- C++ NÂNG CAO
- CODE GYM
- CTDL & GIẢI THUẬT
- DESIGN PATTERNS
- KIẾN THỨC TỔNG HỢP
- LINUX / YOCTO / AOSP
- TECH365
- VISUAL STUDIO
Copyright © 2024 CppDeveloper by Phạm Minh Tuấn (SHUN)
Từ khóa » Duyệt Mảng C++
-
Duyệt Mảng Một Chiều
-
Mảng (array) Trong C++ - Học Lập Trình C++ Online - VietTuts
-
Duyệt Set Trong C++
-
Duyệt Vector Trong C++
-
Mảng 1 Chiều Trong C++ (Arrays) | How Kteam
-
Các Thao Tác Trên Mảng Một Chiều | How Kteam
-
5.1 Các Thao Tác Cơ Bản Với Mảng Một Chiều
-
[Lập Trình C++ Cơ Bản] Bài 7 (phần 1): Mảng Một Chiều - Viblo
-
Tìm Kiếm Phần Tử Mảng Trong C/C++ - Lập Trình Từ Đầu
-
Cách Khai Báo Mảng Trong C++ (mảng Một Chiều Và Nhiều Chiều)
-
Mảng Hai Chiều - Mảng Đa Chiều Trong C++ - CodeLearn
-
Thuật Toán Sắp Xếp Trong C++ | TopDev
-
[PDF] Bài Thực Hành Tuần 6 1. Nội Dung 2. Sửa Các Phần Tử Trong Mảng
-
Duyệt Và In Mảng Bởi Sử Dụng Con Trỏ Trong C