std::array::end
#include <array>
iterator end() noexcept;
const_iterator end() const noexcept;
Trả về một iterator trỏ đến vị trí ngay sau phần tử cuối cùng của std::array.
Tham số
Không có tham số
Giá trị trả về
- Trả về một iterator trỏ tới phần tử ngay sau phần tử cuối cùng của mảng.
- Có hai phiên bản của hàm
end()
: một phiên bản trả về một iterator không hằng (non-const iterator) và một phiên bản trả về một iterator hằng (const iterator). - Iterator trả về bởi
end()
không trỏ đến phần tử hợp lệ trong mảng, vì vậy không được dereference (*it
) iterator này.
Đặc điểm
end()
trả về một iterator trỏ tới phần tử sau phần tử cuối cùng của mảng. Điều này hữu ích khi bạn cần xác định giới hạn của mảng trong các vòng lặp và thuật toán.- Kết hợp với
begin()
để duyệt từ đầu đến cuối mảng một cách an toàn.
Ví dụ
Duyệt các phần tử trong mảng
#include <iostream>
#include <array>
int main() {
std::array<int, 5> arr = {1, 2, 3, 4, 5};
// Sử dụng iterator để duyệt mảng
for (auto it = arr.begin(); it != arr.end(); ++it) {
std::cout << *it << " ";
}
return 0;
}
Kết hợp với thuật toán trong <algorithm>
#include <array>
#include <algorithm>
#include <iostream>
int main() {
std::array<int, 5> myArray = {1, 2, 3, 4, 5};
// Tìm kiếm phần tử
auto it = std::find(myArray.begin(), myArray.end(), 3);
if (it != myArray.end()) {
std::cout << "Found: " << *it << std::endl;
} else {
std::cout << "Not Found" << std::endl;
}
return 0;
}
Các hàm liên quan
cend | Trả về một iterator hằng trỏ tới phần tử ngay sau phần tử cuối cùng của std::array |
back | Truy xuất phần tử tại vị trí cuối cùng |
begin | Trả về một iterator trỏ đến phần tử đầu tiên 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 |