C++ Tuple

C Tuple



Herhangi bir programlama diliyle çalışmak, tanımlama grupları, listeler, diziler vb. kullanmayı gerektirir. Diziler, listeler ve tanımlama grupları aynı hizmetleri küçük farklılıklarla sunar. Tuple, öğelerin sıra listesini tutan bir nesnedir. Tıpkı bir dizi ve liste gibidir, ancak ikisi de değişebilir, ancak demet değişmez. Değişmez bir nesne, yürütme sırasında herhangi bir değişiklik yapamaz. Liste ve dizi, değiştirilebilir olduklarından kolayca değiştirilebilir, dilimlenebilir veya dizine alınabilir. Ancak bir demet değiştirilemez, dilimlenemez veya değiştirilemez çünkü o değişmez bir nesnedir. Ayrıca, liste ve dizi yalnızca bir tür veri depolayabilir, ancak bir demet birden çok türde veriye sahip olabilir. Bu kılavuzda, bir demetin ana işlevini ve bir c++ programında nasıl kullanılabileceğini tartışacağız.

C++ Programlama Dilinde Tuple nedir?

Bir c++ programlama dilinde bir demet, sıralı bir öğe listesini tutan bir nesnedir. Değişmez bir veri türüdür, bu, tanımlama grubundaki değerlerin herhangi bir yürütme noktasında değiştirilemeyeceği anlamına gelir. Bir demetin değeri, virgülle ayrılmış yuvarlak () parantez içinde verilir ve indeksin referansı ile erişilebilir. Bir demet üzerinde gerçekleştirilebilecek birçok fonksiyon vardır, yani get(), takas(), tuple_size(), vb. İlerleyen bölümlerde 4 fonksiyonun çalışmasını örnekler yardımıyla açıklayacağız.

Örnek 1:
Bu örnekte make_tuple() işlevini kullanarak bir demet oluşturacağız. make_tuple() bir c++ programında bir tanımlama grubuna değer atamak için kullanılır. Tuple'a atanması gereken değerler, tuple'da bildirilenlerle aynı sırada olmalıdır. Bir c++ programında make_tuple() fonksiyonunun nasıl çalıştığını anlamak için aşağıdaki ekli kodu görelim.







'include ' ve 'using namespace std' kitaplıkları, cin ve cout gibi standart giriş ve çıkış işlevlerini kullanmak için programa dahil edilmiştir. 'include ', programda bir Tuple kullanımına izin verecektir. Kodun tamamı main() işlevinde sağlanır. Bir 't' demeti, olmak üzere beş öğeyle bildirilir. Tuple değerlerinin aynı sırayı takip etmesi gerekir. Gördüğünüz gibi make_tuple() işlevindeki ('a', 75, 5, 'z', 5.5), demet için bildirilen değerlerle aynı sıradadır. Bu kodu çalıştırdıktan sonra, yürütmenin başarılı olduğunu gösteren hiçbir şey alamazsınız.



#include
#include
kullanarak ad alanı standart ;
int ana ( )
{
demet < karakter , int , int , karakter , batmadan yüzmek > t ;
t = make_tuple ( 'a' , 75 , 5 , 'İle birlikte' , 5.5 ) ;
dönüş 0 ;
}



Aşağıdaki ekran görüntüsünde verilen sonuç çıktısını kontrol edin:





Program tarafından döndürülen hiçbir şey olmadığını unutmayın. Tuple değerlerini yazdıralım.



Örnek 2:
Bu örnekte, değerlerini görüntülemek için demet üzerinde get() işlevi kullanılır. Tuple'ların değerleri yalnızca c++ programlama dilinde get() işleviyle yazdırılabilir. Aşağıdaki koda bakın.

Önceki örnekte yaptığımız gibi aynı kodu ve örnek verileri kullandığımızı unutmayın. make_tuple() işlevi kullanılarak değerler, demete başarıyla atanır. get() işlevi, 0'dan başlayarak dizin numarasına başvurularak demetin değerlerine erişmek için kullanılır. Her bir dizin numarası get() işlevine verilir ve demetin tüm değerleri cout deyimiyle yazdırılır.

#include
#include
kullanarak ad alanı standart ;
int ana ( )
{
demet < karakter , int , int , karakter , batmadan yüzmek > t ;
t = make_tuple ( 'a' , 75 , 5 , 'İle birlikte' , 5.5 ) ;
int i ;
cout << 'Tuple değerleri şunlardır: ' ;
cout << almak < 0 > ( t ) << ' ' << almak < 1 > ( t ) << ' ' << almak < iki > ( t )
<< ' ' << almak < 3 > ( t ) << ' ' << almak < 4 > ( t ) << son ;
dönüş 0 ;
}

Aşağıda verilen ekran görüntüsünde bu kodun çıktısını kontrol edin:

get() işlevi, değerleri, demete atandıkları sırayla yazdırır.

Örnek 3:
Bu örnekte, tuple_size() fonksiyonunun çalışmasını göstereceğiz. Örnek bir örnek yardımıyla, tuple_size fonksiyonunu kullanarak bir demetin boyutunun nasıl elde edileceğini açıklayacağız. Aşağıda verilen kodu inceleyin.

Geri kalan kod satırları, önceki örneklerde kullanılanlarla aynıdır. Buradaki tuple_size işlevi, demetin boyutunu alacaktır. 'Decltype', verilen ifadenin türünü incelemek için kullanılan beyan edilen türü ifade eder.

#include
#include
kullanarak ad alanı standart ;
int ana ( )
{
demet < karakter , int , int , karakter , batmadan yüzmek > t ;
t = make_tuple ( 'a' , 75 , 5 , 'İle birlikte' , 5.5 ) ;
int i ;
cout << 'Tuple'ın boyutu = ' ;
cout << tuple_size < decltype ( t ) > :: değer << son ;
dönüş 0 ;
}

Bu kodu çalıştırdığınızda, aşağıdaki çıktı üretilecektir:

Tuple'a 5 değer atadık ve tuple_size() işlevi de Tuple 5'in boyutunu döndürdü.

Örnek 4:
Tuple_cat() işlevini kullanarak demetleri birleştirebilir ve onlardan yeni bir demet oluşturabiliriz. Burada, iki demeti birleştirmek için tuple_cat() fonksiyonunun kullanımını göstereceğiz.

Aşağıdaki kodda t1 ve t2 olmak üzere iki adet tuple tanımladık ve her bir tuple'a 3/3 değerleri atadık. Ardından, her iki demeti birleştirmek ve bunlardan yeni bir demet oluşturmak için tuple_cat() işlevini kullandık. Bundan sonra, get() işlevini kullanarak tüm demetlerin değerlerini yazdırdık. tuple_cat() işlevi, birleştirilmesi gereken demetleri alır, her bir demete atanan değerleri birleştirir ve bundan yeni bir demet oluşturur.

t1 ve t2 demetlerinin 3/3 değerlerine sahip olduğunu ve her değeri get() işlevini kullanarak indeks 0'dan indeks 2'ye referans vererek yazdırdığımızı unutmayın. Ancak, birleştirildiklerinde toplam değerler 6 olacaktır. tüm değerlerin yazdırılması için dizini 0'dan 5'e yazdırmak için. Aşağıdaki çıktıya bakın ve t1 demetinde 3 değerin yazdırıldığını unutmayın; Tuple 2'ye 3 değer yazdırılır. Ancak, yeni demetteki birleştirilmiş değerler 6 olduğundan, demet 3'ün 6 değeri yazdırılır.

#include
#include
kullanarak ad alanı standart ;
int ana ( )
{
demet < karakter , int , batmadan yüzmek > t1 ( 'a' , 75 , 6.7 ) ;
demet < int , karakter , batmadan yüzmek > t2 ( 10 , 't' , 77.9 ) ;
Oto t3 = tuple_cat ( t1,t2 ) ;
cout << 'İlk demet içeriği =  ' ;
cout << almak < 0 > ( t1 ) << ' ' << almak < 1 > ( t1 ) << ' ' << almak < iki > ( t1 ) << son << son ;
cout << 'İkinci demet, =  ' içeriyor ;
cout << almak < 0 > ( t2 ) << ' ' << almak < 1 > ( t2 ) << ' ' << almak < iki > ( t2 ) << son << son ;
cout << 'Yeni demet = ' ;
cout << almak < 0 > ( t3 ) << ' ' << almak < 1 > ( t3 ) << ' ' << almak < iki > ( t3 ) << ' '
<< almak < 3 > ( t3 ) << ' ' << almak < 4 > ( t3 ) << ' ' << almak < 5 > ( t3 ) << son ;
dönüş 0 ;
}

İşte çıktı:

Çözüm

Bu makale, c++ programlama dilindeki demetlere genel bir bakış niteliğindedir. C++'daki tuple, aynı anda farklı veri türlerinin değerlerini taşıyan değişmez bir nesnedir. Tuple'lar, değişmez olduklarından, herhangi bir yürütme noktasında değiştirilemez veya değiştirilemez. Belirli bir sonuca ulaşmak için demetler üzerinde çeşitli işlevler gerçekleştirilebilir, bunlardan 4 tanesi bu makalede örnek örneklerle gösterilmiştir.