Thư viện C ++ - <vector>
Giới thiệu
Vectơ là vùng chứa trình tự có thể thay đổi kích thước. Container là một đối tượng chứa dữ liệu cùng loại. Vùng chứa trình tự lưu trữ các phần tử theo trình tự tuyến tính.
Vector lưu trữ các phần tử ở các vị trí bộ nhớ liền nhau và cho phép truy cập trực tiếp vào bất kỳ phần tử nào bằng toán tử chỉ số con []. Không giống như mảng, vectơ có thể thu nhỏ hoặc mở rộng khi cần thiết tại thời điểm chạy. Việc lưu trữ vectơ được xử lý tự động.
Để hỗ trợ chức năng thu nhỏ và mở rộng trong thời gian chạy, vùng chứa vector có thể phân bổ thêm một số bộ nhớ để đáp ứng cho sự phát triển có thể, do đó vùng chứa có dung lượng thực tế lớn hơn kích thước. Do đó, so với mảng, vector tiêu thụ nhiều bộ nhớ hơn để đổi lấy khả năng quản lý lưu trữ và phát triển động một cách hiệu quả.
Các vectơ có kích thước bằng không cũng hợp lệ. Trong trường hợp đó vector.begin () và vector.end () trỏ đến cùng một vị trí. Nhưng hành vi gọi front () hoặc back () là không xác định.
Định nghĩa
Dưới đây là định nghĩa của std :: vector từ tệp tiêu đề <vector>
template < class T, class Alloc = allocator<T> > class vector;
Thông số
T - Loại của phần tử được chứa.
T có thể được thay thế bằng bất kỳ kiểu dữ liệu nào khác bao gồm cả kiểu do người dùng xác định.
Alloc - Loại đối tượng cấp phát.
Theo mặc định, mẫu lớp bộ cấp phát được sử dụng, định nghĩa mô hình cấp phát bộ nhớ đơn giản nhất và không phụ thuộc vào giá trị.
Các loại thành viên
Các kiểu thành viên sau có thể được sử dụng làm tham số hoặc kiểu trả về bởi các hàm thành viên.
Sr.No. | Các loại thành viên | Định nghĩa |
---|---|---|
1 | value_type | T (Tham số đầu tiên của mẫu) |
2 | Cấp phát_type | Alloc (Tham số thứ hai của mẫu) |
3 | tài liệu tham khảo | value_type & |
4 | const_reference | const value_type & |
5 | con trỏ | value_type * |
6 | const_pointer | const value_type * |
7 | người lặp lại | một trình lặp truy cập ngẫu nhiên vào value_type |
số 8 | const_iterator | một trình lặp truy cập ngẫu nhiên đến const value_type |
9 | reverse_iterator | std :: reverse_iterator <iterator> |
10 | const_reverse_iterator | std :: reverse_iterator <const_iterator> |
11 | size_type | size_t |
12 | chênh_chung | ptrdiff_t |
Các hàm từ <vector>
Dưới đây là danh sách tất cả các phương thức từ tiêu đề <vector>.
Người xây dựng
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | vector :: vector hàm tạo mặc định Tạo một vùng chứa rỗng, không có phần tử nào. |
2 | vector :: phương thức tạo vector điền Xây dựng một vùng chứa với n phần tử và gán val cho mỗi phần tử. |
3 | vector :: hàm tạo phạm vi vectơ Tạo một vùng chứa có nhiều phần tử trong phạm vi từ đầu tiên đến cuối cùng. |
4 | vector :: vector copy constructor Tạo một vùng chứa với bản sao của từng phần tử có trong vùng chứa hiện có x. |
5 | vector :: vector move constructor Xây dựng vùng chứa với nội dung của các ngữ nghĩa di chuyển khác . |
6 | vector :: phương thức khởi tạo danh sách trình khởi tạo vector Tạo một vùng chứa từ danh sách trình khởi tạo. |
Kẻ hủy diệt
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | vector :: ~ vector Hủy vùng chứa bằng cách phân bổ bộ nhớ vùng chứa thỏa thuận. |
Chức năng thành viên
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | vector :: gán phiên bản điền Gán các giá trị mới cho các phần tử vectơ bằng cách thay thế các giá trị cũ. |
2 | vector :: gán phiên bản phạm vi Gán các giá trị mới cho các phần tử vectơ bằng cách thay thế các giá trị cũ. |
3 | vector :: gán phiên bản danh sách trình khởi tạo Gán các giá trị mới cho các phần tử vectơ bằng cách thay thế các giá trị cũ. |
4 | vectơ :: tại Trả về tham chiếu đến phần tử có tại vị trí n trong vectơ. |
5 | vectơ :: quay lại Trả về một tham chiếu đến phần tử cuối cùng của vectơ. |
6 | vectơ :: bắt đầu Trả về một trình lặp truy cập ngẫu nhiên trỏ đến phần tử đầu tiên của vectơ. |
7 | vectơ :: công suất Trả về kích thước của bộ nhớ cấp phát, được biểu thị theo phần tử. |
số 8 | vector :: cbegin Trả về một trình lặp truy cập ngẫu nhiên không đổi trỏ đến đầu vectơ. |
9 | vector :: cend Trả về một trình lặp truy cập ngẫu nhiên không đổi trỏ đến đầu vectơ. |
10 | vectơ :: rõ ràng Hủy vectơ bằng cách xóa tất cả các phần tử khỏi vectơ và đặt kích thước của vectơ thành 0. |
11 | vector :: crbegin Trả về một trình lặp đảo ngược liên tục trỏ đến đầu trình đảo ngược của vùng chứa. |
12 | vectơ :: crend Trả về một trình lặp ngược liên tục trỏ đến điểm cuối ngược của vectơ. |
13 | vectơ :: dữ liệu Trả về một con trỏ đến phần tử đầu tiên của vùng chứa vectơ. |
14 | vectơ :: emplace Mở rộng vùng chứa bằng cách chèn phần tử mới vào vị trí . |
15 | vectơ :: emplace_back Chèn phần tử mới vào cuối vectơ. |
16 | vectơ :: trống Kiểm tra xem vectơ có trống hay không. |
17 | vectơ :: end Trả về một trình lặp trỏ đến phần tử quá khứ trong vùng chứa vectơ. |
18 | vector :: xóa phiên bản vị trí Xóa một phần tử khỏi vectơ. |
19 | vector :: xóa phiên bản phạm vi Xóa một phần tử khỏi vectơ. |
20 | vector :: phía trước Trả về một tham chiếu đến phần tử đầu tiên của vectơ. |
21 | vector :: get_allocator Trả về một bộ cấp phát được liên kết với vectơ. |
22 | vector :: chèn phiên bản phần tử đơn Mở rộng trình lặp bằng cách chèn phần tử mới vào vị trí. |
23 | vector :: chèn phiên bản điền Mở rộng vectơ bằng cách chèn phần tử mới vào vùng chứa. |
24 | vector :: chèn phiên bản phạm vi Mở rộng vectơ bằng cách chèn phần tử mới vào vùng chứa. |
25 | vector :: chèn phiên bản di chuyển Mở rộng vectơ bằng cách chèn phần tử mới vào vùng chứa. |
26 | vector :: chèn phiên bản danh sách trình khởi tạo Mở rộng vectơ bằng cách chèn phần tử mới vào vùng chứa. |
27 | vectơ :: max_size Trả về số phần tử tối đa có thể được giữ bằng vectơ. |
28 | vector :: operator = copy version Gán nội dung mới cho vectơ bằng cách thay thế các nội dung cũ và sửa đổi kích thước nếu cần. |
29 | vector :: operator = move version Gán nội dung mới cho vectơ bằng cách thay thế các nội dung cũ và sửa đổi kích thước nếu cần. |
30 | vector :: operator = phiên bản danh sách bộ khởi tạo Gán nội dung mới cho vectơ bằng cách thay thế các nội dung cũ và sửa đổi kích thước nếu cần. |
31 | vectơ :: toán tử [] Trả về một tham chiếu đến phần tử có tại vị trí n . |
32 | vector :: pop_back Loại bỏ phần tử cuối cùng khỏi vectơ và giảm kích thước của vectơ xuống một. |
33 | vector :: push_back Chèn phần tử mới vào cuối vectơ và tăng kích thước của vectơ lên một. |
34 | vector :: rbegin Trả về một trình lặp ngược trỏ đến phần tử cuối cùng của vectơ. |
35 | vector :: rend Trả về một trình lặp ngược trỏ đến điểm cuối ngược của vectơ. |
36 | vector :: dự trữ Yêu cầu dự trữ dung lượng véc tơ tối thiểu phải đủ chứa n phần tử. |
37 | vector :: thay đổi kích thước Thay đổi kích thước của vector. |
38 | vector :: co_to_fit Yêu cầu vùng chứa giảm dung lượng để phù hợp với kích thước của nó. |
39 | vectơ :: kích thước Trả về số phần tử có trong vectơ. |
40 | vectơ :: hoán đổi Trao đổi nội dung của vectơ với nội dung của vectơ x . |
Các chức năng quá tải không phải thành viên
Sr.No. | Phương pháp & Mô tả |
---|---|
1 | toán tử == Kiểm tra xem hai vectơ có bằng nhau hay không. |
2 | toán tử! = Kiểm tra xem hai vectơ có bằng nhau hay không. |
3 | toán tử < Kiểm tra xem vectơ đầu tiên có nhỏ hơn vectơ khác hay không. |
4 | toán tử <= Kiểm tra xem vectơ đầu tiên có nhỏ hơn hoặc bằng vectơ khác hay không. |
5 | toán tử> Kiểm tra xem vectơ đầu tiên có lớn hơn vectơ khác hay không. |
6 | toán tử> = Kiểm tra xem vectơ đầu tiên có lớn hơn hoặc bằng vectơ khác hay không. |
7 | hoán đổi Trao đổi nội dung của hai vector. |