std::array::front
#include <array>
Trả về một tham chiếu đến phần tử đầu tiên trong mảng std::array.
reference front();
const_reference front() const;
Tham số
Không có tham số
Giá trị trả về
- Trả về một tham chiếu (reference) tới phần tử đầu tiên của mảng.
- Trả về tham chiếu (non-const) đến phần tử đầu tiên, cho phép thay đổi giá trị.
- Trả về tham chiếu
const
đến phần tử đầu tiên, dùng cho các mảngconst
.
Đặc điểm
- Đây là cách truy cập nhanh đến phần tử đầu tiên mà không cần sử dụng cú pháp chỉ mục [0].
- Không thay đổi trạng thái mảng:
front()
chỉ đọc hoặc trả về tham chiếu, không làm thay đổi cấu trúc của mảng. - Hành vi không xác định (undefined behavior): Nếu mảng rỗng (kích thước 0), việc gọi
front()
dẫn đến hành vi không xác định. Trước khi sử dụngfront()
, bạn nên kiểm tra xem mảng có rỗng hay không bằng cách sử dụng hàmempty()
để tránh hành vi không xác định. - Hỗ trợ các phiên bản C++: Được giới thiệu từ C++11.
front()
chỉ lấy phần tử đầu tiên, trong khioperator[]
cho phép truy cập bất kỳ phần tử nào.front()
an toàn hơn nếu bạn chỉ cần truy cập phần tử đầu tiên, vì cú pháp rõ ràng và ít có khả năng gây nhầm lẫn hơn.
Ví dụ
#include <array>
#include <iostream>
int main() {
std::array<int, 3> arr = {10, 20, 30};
// Truy cập và in giá trị đầu tiên
std::cout << "Phần tử đầu tiên: " << arr.front() << std::endl;
// Thay đổi giá trị phần tử đầu tiên
arr.front() = 100;
std::cout << "Phần tử đầu tiên sau thay đổi: " << arr.front() << std::endl;
return 0;
}
Truy cập mảng hằng
#include <array>
#include <iostream>
int main() {
const std::array<int, 3> arr = {10, 20, 30};
// Truy cập phần tử đầu tiên (read-only)
std::cout << "Phần tử đầu tiên (const): " << arr.front() << std::endl;
return 0;
}
Các hàm liên quan
back | Truy xuất phần tử tại vị trí cuối cùng |
at | Truy xuất phần tử tại vị trí chỉ định |
[] | Truy xuất phần tử tại vị trí chỉ định |