Chuyển tới nội dung chính

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

  1. 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.
  2. 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

cendTrả 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
backTruy xuất phần tử tại vị trí cuối cùng
beginTrả về một iterator trỏ đến phần tử đầu tiên của std::array
rbeginTrả về một iterator ngược trỏ đến phần tử cuối cùng của std::array
rendTrả về một iterator ngược trỏ tới phần tử trước phần tử đầu tiên của std::array