Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Lớp array trong C++


Lớp std::array trong C++ hiệu quả và tự biết kích thước của mình.

Các hàm thành viên thường dùng

  • size() – Trả về số phần tử.
  • max_size() – Trả về số phần tử tối đa.
  • at(), operator[], get() – Truy cập phần tử.
  • front() – Phần tử đầu tiên.
  • back() – Phần tử cuối cùng.
  • empty() – Kiểm tra rỗng.
  • fill() – Điền toàn bộ mảng một giá trị.
  • swap() – Hoán đổi nội dung hai mảng.

Ví dụ minh họa

#include <iostream>
#include <array>
using namespace std;

int main() {
    array<int,4> a = {10, 20, 30, 40};
    array<int,4> a1 = {50, 60, 70, 90};

    cout << "Kich thuoc mang: " << a.size() << endl;
    cout << "So phan tu toi da: " << a.max_size() << endl;

    cout << "Cac phan tu (at()): ";
    for (int i=0; i<4; i++) cout << a.at(i) << " "; cout << endl;

    cout << "Cac phan tu (get()): " << get<0>(a) << " " << get<1>(a) << endl;

    cout << "Cac phan tu (operator[]): ";
    for (int i=0; i<4; i++) cout << a[i] << " "; cout << endl;

    cout << "Phan tu dau: " << a.front() << endl;
    cout << "Phan tu cuoi: " << a.back() << endl;

    cout << "Mang a1 truoc swap: ";
    for (int i=0; i<4; i++) cout << a1[i] << " "; cout << endl;

    a.swap(a1);

    cout << "Mang a sau swap: ";
    for (int i=0; i<4; i++) cout << a[i] << " "; cout << endl;
    cout << "Mang a1 sau swap: ";
    for (int i=0; i<4; i++) cout << a1[i] << " "; cout << endl;

    cout << (a1.empty() ? "Mang rong" : "Mang khong rong") << endl;

    a.fill(1);
    cout << "Mang a sau fill(1): ";
    for (int i=0; i<4; i++) cout << a[i] << " ";
    return 0;
}

Kết quả

Kich thuoc mang: 4
So phan tu toi da: 4
Cac phan tu (at()): 10 20 30 40
Cac phan tu (get()): 10 20
Cac phan tu (operator[]): 10 20 30 40
Phan tu dau: 10
Phan tu cuoi: 40
Mang a1 truoc swap: 50 60 70 90
Mang a sau swap: 50 60 70 90
Mang a1 sau swap: 10 20 30 40
Mang khong rong
Mang a sau fill(1): 1 1 1 1