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

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

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

cbeginTrả về một iterator hằng trỏ tới phần tử đầu tiên của std::array
frontTruy xuất phần tử tại vị trí đầu tiên
endTrả về một iterator trỏ đến vị trí ngay sau phần tử cuối cùng 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