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
#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.