std::array::begin
#include <array>
iterator begin() noexcept;
const_iterator begin() const noexcept;
Trả về một iterator trỏ đến phần tử đầu tiên của std::array.
Tham số
Không có tham số
Giá trị trả về
- Đối với hàm không hằng: Trả về một iterator có thể sửa đổi (mutable iterator), cho phép thay đổi giá trị của các phần tử.
- Đối với hàm hằng: Trả về một iterator chỉ đọc (const iterator), không cho phép thay đổi giá trị của các phần tử.
- Nếu std::array rỗng, giá trị trả về vẫn là một iterator hợp lệ (nhưng nó trỏ đến phần tử "không tồn tại").
Đặc điểm
- Thích hợp cho vòng lặp: Iterator trả về có thể được sử dụng trong các vòng lặp để duyệt qua các phần tử của mảng.
- Hỗ trợ cả iterator hằng và biến:
begin()
có cả hai phiên bản, cho phép truy cập phần tử với khả năng thay đổi hoặc không thay đổi (const). - Phù hợp cho các thuật toán trong thư viện
<algorithm>
.
Ví dụ
Duyệt và sửa đổi các phần tử
#include <iostream>
#include <array>
int main() {
std::array<int, 5> arr = {1, 2, 3, 4, 5};
// Duyệt qua từng phần tử và tăng giá trị lên 1
for (auto it = arr.begin(); it != arr.end(); ++it) {
*it += 1; // Thay đổi giá trị của phần tử
}
// In ra mảng sau khi sửa đổi
for (const auto& elem : arr) {
std::cout << elem << " ";
}
return 0;
}
Kết hợp với thuật toán trong <algorithm>
#include <iostream>
#include <array>
#include <algorithm>
int main() {
std::array<int, 5> arr = {5, 3, 1, 4, 2};
// Sắp xếp các phần tử
std::sort(arr.begin(), arr.end());
// In ra mảng đã sắp xếp
for (const auto& elem : arr) {
std::cout << elem << " ";
}
return 0;
}
Các hàm liên quan
cbegin | Trả về một iterator hằng trỏ tới phần tử đầu tiên của std::array |
front | Truy xuất phần tử tại vị trí đầu tiên |
end | Trả về một iterator trỏ đến vị trí ngay sau phần tử cuối cùng của std::array |
rbegin | Trả về một iterator ngược trỏ đến phần tử cuối cùng của std::array |
rend | Trả về một iterator ngược trỏ tới phần tử trước phần tử đầu tiên của std::array |