Computer >> Máy Tính >  >> Lập trình >> C ++

Forward_list ::operator =trong C ++ STL

Trong bài viết này, chúng ta sẽ thảo luận về cách làm việc, cú pháp và các ví dụ của forward_list ::operator =trong C ++.

Forward_list trong STL là gì?

Danh sách chuyển tiếp là các vùng chứa trình tự cho phép các thao tác chèn và xóa theo thời gian liên tục ở bất kỳ đâu trong chuỗi. Danh sách chuyển tiếp được triển khai dưới dạng danh sách được liên kết đơn lẻ. Thứ tự được giữ bởi liên kết đến từng phần tử của liên kết với phần tử tiếp theo trong chuỗi.

forward_list ::operator =?

là gì

Forward_list ::operator =được sử dụng để gán các giá trị mới cho vùng chứa forward_list bằng cách thay thế các giá trị đã có. Toán tử này cũng sửa đổi kích thước của vùng chứa forward_list theo các giá trị mới.

Cú pháp

Forward_container1 = (forward_container2);

Hàm này chấp nhận một vùng chứa forward_list khác cùng loại.

Giá trị trả lại

Nó trả về con trỏ “* this”.

Trong đoạn mã dưới đây, chúng tôi đang tạo hai danh sách chuyển tiếp và chèn các phần tử vào đó và sau đó, chúng tôi sẽ sử dụng toán tử ‘=’ để ghi đè các phần tử của danh sách chuyển tiếp 1 bằng danh sách chuyển tiếp 2.

Ví dụ

#include <forward_list>
#include <iostream>
using namespace std;
int main(){
   forward_list<int> forwardList1 = {10, 20, 30 };
   forward_list<int> forwardList2 = { 0, 1, 2, 3 };
   forwardList1 = forwardList2;
   cout << "my forwardList1 after using = operator with forwardList2\n";
   for (auto i = forwardList1.begin(); i != forwardList1.end(); ++i)
      cout << ' ' << *i;
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau

my forwardList1 after using = operator with forwardList2
0 1 2 3

Ví dụ

Trong đoạn mã dưới đây, chúng tôi đang tạo hai danh sách chuyển tiếp và chèn các phần tử vào đó và sau đó chúng tôi sẽ sử dụng toán tử '=' để ghi đè các phần tử của danh sách chuyển tiếp 1 với danh sách chuyển tiếp 2. Nhiệm vụ chính bây giờ là kiểm tra trạng thái của danh sách chuyển tiếp 2 tức là liệu nó có bị thay đổi hay không

#include <forward_list>
#include <iostream>
using namespace std;
int main(){
   forward_list<int> forwardList1 = {10, 20, 30 };
   forward_list<int> forwardList2 = { 0, 1, 2, 3 };
   forwardList1 = forwardList2;
   cout << "my forwardList1 after using = operator with forwardList2\n";
   for (auto i = forwardList1.begin(); i != forwardList1.end(); ++i)
      cout << ' ' << *i;
   cout << "\n my forwardList2 after using = operator with forwardList1\n";
   for (auto i = forwardList2.begin(); i != forwardList2.end(); ++i)
      cout << ' ' << *i;
   return 0;
}

Đầu ra

Nếu chúng ta chạy đoạn mã trên, nó sẽ tạo ra kết quả sau

my forwardList1 after using = operator with forwardList2
0 1 2 3
my forwardList2 after using = operator with forwardList1
0 1 2 3