C ++ Tuple

C Tuple



Làm việc với bất kỳ ngôn ngữ lập trình nào đòi hỏi phải sử dụng các bộ dữ liệu, danh sách, mảng, v.v. Các mảng, danh sách và bộ giá trị cung cấp các dịch vụ giống nhau với sự khác biệt nhỏ. Tuple là một đối tượng chứa danh sách thứ tự các mặt hàng. Nó giống như một mảng và một danh sách, tuy nhiên, cả hai đều có thể thay đổi được, nhưng tuple là bất biến. Một đối tượng bất biến không thể trải qua bất kỳ thay đổi nào trong quá trình thực thi. Danh sách và mảng có thể dễ dàng được sửa đổi, cắt lát hoặc lập chỉ mục vì chúng có thể thay đổi được. Nhưng một tuple không thể được sửa đổi, cắt lát hoặc thay đổi vì nó là một đối tượng bất biến. Hơn nữa, danh sách và mảng chỉ có thể lưu trữ một kiểu dữ liệu, nhưng một bộ dữ liệu có thể có nhiều kiểu dữ liệu. Trong hướng dẫn này, chúng ta sẽ thảo luận về chức năng chính của tuple và cách nó có thể được sử dụng trong chương trình c ++.

Tuple trong ngôn ngữ lập trình C ++ là gì?

Một bộ giá trị trong ngôn ngữ lập trình c ++ là một đối tượng chứa một danh sách các mục có thứ tự. Đây là kiểu dữ liệu bất biến có nghĩa là không thể thay đổi các giá trị trong bộ tuple tại bất kỳ thời điểm thực thi nào. Giá trị của một bộ giá trị được cho trong dấu ngoặc tròn () được phân tách bằng dấu phẩy và có thể được truy cập bằng tham chiếu của chỉ mục. Có nhiều hàm có thể được thực hiện trên một tuple, tức là get (), swap (), tuple_size (), v.v. Trong các phần tiếp theo, chúng tôi sẽ giải thích hoạt động của 4 hàm với sự trợ giúp của các ví dụ.

Ví dụ 1:
Trong ví dụ này, chúng ta sẽ tạo một bộ giá trị bằng cách sử dụng hàm make_tuple (). Make_tuple () được sử dụng trong chương trình c ++ để gán giá trị cho một bộ giá trị. Các giá trị cần được gán cho bộ tuple phải theo thứ tự giống như chúng đã được khai báo trong bộ tuple. Hãy để chúng tôi xem đoạn mã đính kèm bên dưới để hiểu cách hoạt động của hàm make_tuple () trong chương trình c ++.







Thư viện ‘include ’ và ‘using namespace std’ được bao gồm trong chương trình để sử dụng các hàm đầu vào và đầu ra tiêu chuẩn như cin và cout. ‘Include ’ sẽ cho phép sử dụng một bộ tuple trong chương trình. Mã hoàn chỉnh được cung cấp trong hàm main (). Một tuple ‘t’ được khai báo với năm phần tử, . Các giá trị cho bộ giá trị được yêu cầu tuân theo cùng một thứ tự. Như bạn có thể quan sát, (‘a’, 75, 5, ‘z’, 5.5) trong hàm make_tuple () có cùng thứ tự với các giá trị được khai báo cho bộ giá trị. Sau khi thực thi mã này, đổi lại bạn sẽ không nhận được gì cho thấy rằng quá trình thực thi đã thành công.



#include
#include
sử dụng không gian tên std ;
int chính ( )
{
tuple < char , int , int , char , trôi nổi > t ;
t = make_tuple ( 'một' , 75 , 5 , 'Với' , 5.5 ) ;
trở về 0 ;
}



Kiểm tra kết quả đầu ra được đưa ra trong ảnh chụp màn hình bên dưới:





Lưu ý rằng không có gì trả lại bởi chương trình. Hãy để chúng tôi in các giá trị của tuple.



Ví dụ 2:
Trong ví dụ này, hàm get () được sử dụng trên tuple để hiển thị các giá trị của nó. Giá trị của các bộ giá trị chỉ có thể được in bằng hàm get () trong ngôn ngữ lập trình c ++. Xem mã bên dưới.

Lưu ý rằng chúng tôi đã sử dụng cùng một mã và dữ liệu mẫu như chúng tôi đã làm trong ví dụ trước. Bằng cách sử dụng hàm make_tuple (), các giá trị được gán thành công cho bộ tuple. Hàm get () được sử dụng để truy cập các giá trị của bộ tuple bằng cách tham chiếu đến số chỉ mục bắt đầu từ 0. Mỗi số chỉ mục được cấp cho hàm get () và tất cả các giá trị của bộ tuple được in bằng câu lệnh cout.

#include
#include
sử dụng không gian tên std ;
int chính ( )
{
tuple < char , int , int , char , trôi nổi > t ;
t = make_tuple ( 'một' , 75 , 5 , 'Với' , 5.5 ) ;
int tôi ;
cout << 'Các giá trị của tuple là:' ;
cout << lấy < 0 > ( t ) << '' << lấy < 1 > ( t ) << '' << lấy < hai > ( t )
<< '' << lấy < 3 > ( t ) << '' << lấy < 4 > ( t ) << endl ;
trở về 0 ;
}

Kiểm tra đầu ra của mã này trong ảnh chụp màn hình dưới đây:

Hàm get () in các giá trị theo thứ tự như chúng được gán cho bộ giá trị.

Ví dụ 3:
Trong ví dụ này, chúng tôi sẽ chứng minh hoạt động của hàm tuple_size (). Với sự trợ giúp của một ví dụ mẫu, chúng tôi sẽ giải thích cách lấy kích thước của một tuple bằng cách sử dụng hàm tuple_size. Kiểm tra mã được cung cấp dưới đây.

Phần còn lại của các dòng mã giống như được sử dụng trong các ví dụ trước. Hàm tuple_size ở đây sẽ lấy kích thước của tuple. ‘Kiểu khai báo’ là viết tắt của kiểu được khai báo được sử dụng để kiểm tra kiểu của biểu thức đã cho.

#include
#include
sử dụng không gian tên std ;
int chính ( )
{
tuple < char , int , int , char , trôi nổi > t ;
t = make_tuple ( 'một' , 75 , 5 , 'Với' , 5.5 ) ;
int tôi ;
cout << 'Kích thước của tuple là =' ;
cout << tuple_size < kiểu khai báo ( t ) > :: giá trị << endl ;
trở về 0 ;
}

Khi bạn thực thi mã này, kết quả sau sẽ được tạo:

Chúng tôi đã gán 5 giá trị cho tuple và hàm tuple_size () cũng trả về kích thước của tuple 5.

Ví dụ 4:
Chúng ta có thể nối các bộ giá trị bằng cách sử dụng hàm tuple_cat () và tạo một bộ giá trị mới từ chúng. Ở đây, chúng tôi sẽ trình bày cách sử dụng hàm tuple_cat () để nối hai bộ giá trị.

Trong đoạn mã dưới đây, chúng tôi đã khai báo hai bộ giá trị t1 và t2 và gán giá trị 3/3 cho mỗi bộ giá trị. Sau đó, chúng tôi sử dụng hàm tuple_cat () để nối cả hai bộ giá trị và tạo một bộ giá trị mới từ chúng. Sau đó, chúng tôi chỉ cần in các giá trị của tất cả các bộ giá trị bằng cách sử dụng hàm get (). Hàm tuple_cat () lấy các bộ giá trị cần được nối, kết hợp các giá trị được gán cho mỗi bộ và tạo một bộ mới từ nó.

Lưu ý rằng các bộ giá trị t1 và t2 có 3/3 giá trị và chúng tôi đã in từng giá trị bằng cách sử dụng hàm get () bằng cách tham chiếu từ chỉ mục 0 đến chỉ mục 2. Tuy nhiên, khi chúng được nối với nhau, tổng giá trị sẽ là 6. Vì vậy, chúng ta cần để in chỉ mục từ 0 đến 5 để tất cả các giá trị được in. Kiểm tra đầu ra bên dưới và lưu ý rằng 3 giá trị được in trên tuple t1; 3 giá trị được in trên bộ giá trị 2. Tuy nhiên, 6 giá trị được in ra của bộ 3 vì các giá trị được nối trong bộ giá trị mới là 6.

#include
#include
sử dụng không gian tên std ;
int chính ( )
{
tuple < char , int , trôi nổi > t1 ( 'một' , 75 , 6,7 ) ;
tuple < int , char , trôi nổi > t2 ( 10 , 't' , 77,9 ) ;
Tự động t3 = tuple_cat ( t1, t2 ) ;
cout << 'Tuple đầu tiên chứa =' ;
cout << lấy < 0 > ( t1 ) << '' << lấy < 1 > ( t1 ) << '' << lấy < hai > ( t1 ) << endl << endl ;
cout << 'Bộ thứ hai chứa =' ;
cout << lấy < 0 > ( t2 ) << '' << lấy < 1 > ( t2 ) << '' << lấy < hai > ( t2 ) << endl << endl ;
cout << 'Tuple mới là =' ;
cout << lấy < 0 > ( t3 ) << '' << lấy < 1 > ( t3 ) << '' << lấy < hai > ( t3 ) << ''
<< lấy < 3 > ( t3 ) << '' << lấy < 4 > ( t3 ) << '' << lấy < 5 > ( t3 ) << endl ;
trở về 0 ;
}

Đây là kết quả:

Sự kết luận

Bài viết này là tổng quan về các bộ giá trị trong ngôn ngữ lập trình c ++. Bộ tuple trong c ++ là một đối tượng bất biến mang các giá trị của các kiểu dữ liệu khác nhau cùng một lúc. Các bộ giá trị không thể được thay đổi hoặc sửa đổi tại bất kỳ thời điểm thực thi nào vì chúng là bất biến. Một số chức năng có thể được thực hiện trên các bộ giá trị để đạt được một kết quả nhất định, 4 trong số chúng được trình bày trong bài viết này với các ví dụ mẫu.