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