C++'da Typedef Yapısını Anlamak
C++'da 'typedef', tüm programda takma ad olarak çalışan mevcut yerleşik veri türlerinin, işaretçilerin, yapıların ve kullanıcı tanımlı veri türlerinin yeni adlarını sağlayan bir anahtar kelimedir. Basitçe söylemek gerekirse, yerleşik veya kullanıcı tanımlı veri türlerine kendi kendini açıklayabilecek açıklayıcı adlar verir. Ayrıca kod satırlarının azaltılmasına ve karmaşık veri türlerinin basitleştirilmesine de yardımcı olur. Ancak daha önce de belirttiğimiz gibi “typedef” ifadesinin çok fazla kullanılması kafa karışıklığına yol açabileceği için önerilmez.
Yapı, bir yapıyı tanımlamak ve başlatmak için kullanılan başka bir anahtar kelimedir. C++'daki yapı, geliştiricilerin çeşitli veri türlerini veya değişkenleri tek bir yerde gruplamasına olanak tanıyan bileşik bir veri türü bildirimidir.
C++'da “struct” ve “typedef struct” aynıdır. Aynı şekilde çalıştıkları için “typedef struct” ile “struct” arasında pratik bir fark yoktur. C++'da bir sınıf, enum, birleşim veya yapı bildirildiğinde veya tanımlandığında, bunları dolaylı olarak 'typedef' olarak tanımlamak gereksizdir çünkü bunlar varsayılan olarak 'typedef'tir.
C++'da Typedef Yapısının Sözdizimi
“Typedef” yapısının sözdizimi, “typedef” içermeyen yapıyla aynıdır. Yalnızca “struct” anahtar sözcüğüyle birlikte “typedef”in açık bir tanımına ihtiyaç duyar. Aşağıdaki tam sözdizimine bakın:
typedef yapı {
< veri tipi > < değişken1 > ;
< veri tipi > < değişken2 > ;
< veri tipi > < değişken3 > ;
} < yapı_adı > ;
Yapı artık sadece
< yapı_adı > değişken4, değişken5, değişken6 ;
Şimdi C++’daki “typedef” yapısının daha net ve daha iyi anlaşılması için bazı örnekleri inceleyelim.
Örnek 1:
C++'daki “typedef” yapısının ilk örneğinde, C++ projelerinde nasıl tanımlanabileceğini ve kullanılabileceğini açıklayan basit bir programı ele alıyoruz. Aşağıdaki kodu inceleyin ve ardından açıklamaya geçelim:
#include
kullanarak ad alanı std ;
yapı ondalık {
int 1 Aralık ;
int Aralık2 ; } ;
int ana ( ) {
yapı ondalık d ;
D. 1 Aralık = 10 ;
D. Aralık2 = 23 ;
cout << D. 1 Aralık << sonunda ;
cout << D. Aralık2 << sonunda ;
geri dönmek 0 ; }
Bu C++ kodunda ondalık bir yapı tanımlıyoruz ve bunun ana fonksiyon içerisinde kullanımını gösteriyoruz. Her kod satırına bir göz atalım.
Program, “#include
Ana fonksiyonda ondalık yapının bir örneği oluşturulur. Bu “d;” kullanılarak yapılır. beyan ondalık. Yapının iki üyesi var, dolayısıyla her ikisine de “d” örneğini kullanarak erişiyoruz. Daha sonra “dec1” ve “dec2” değerlerine “d.dec1” ve “d.dec2” tanımı kullanılarak sırasıyla 10 ve 23 atanır. Son olarak “dec1” ve “dec2” değerleri “cout” kullanılarak konsola yazdırılır. Program aşağıdaki çıktıları verir:
Verilen çıktı anlık görüntüsü, ana işlev içinde iki ondalık sayıyı depolamak ve işlemek için 'decimal' adlı basit bir 'typedef' yapısının nasıl kullanıldığını gösterir. “Typedef” yapısı, bir C++ programında ilgili verilerin daha iyi organize edilmesine ve yönetilmesine olanak tanır.
Örnek 2:
Daha önce anlattığımız örnekte yapıda sadece tek tip veri verilmektedir. Şimdi bir yapıda birden çok veri türünü tanımlayalım ve “typedef”in kod satırlarını azaltmada ve kodun karmaşıklığını basitleştirmede nasıl yardımcı olabileceğini görelim. Kod aşağıda referans olarak verilmiştir:
#includekullanarak ad alanı std ;
typedef yapı sözlük {
int İD ;
dize adı ;
uzun rulo sayısı ;
karakter sınıf adı ;
} dikte etmek ;
int ana ( )
{
verileri dikte etmek ;
veri. İD = yirmi ;
veri. isim = 'Kalsoom' ;
veri. rulo sayısı = 123456789 ;
veri. sınıf adı = 'D' ;
cout << 'Adayın kimliği = ' << veri. İD << sonunda ;
cout << 'Adayın adı = ' << veri. isim << sonunda ;
cout << 'Adayın rollnum'u = ' << veri. rulo sayısı << sonunda ;
cout << 'Adayın sınıf adı = ' << veri. sınıf adı << sonunda ;
geri dönmek 0 ;
}
Önceki örnekte olduğu gibi bu program da “#include
Şimdi ana fonksiyonda ilk olarak “dict” adlı yapı sözlüğünün bir örneğini “dict” takma adı görevi gören bir veri olarak tanımlıyoruz. Değerler, aşağıdaki ifadeler kullanılarak yapının her bir üyesine atanır:
veri. İD = yirmi ;veri. isim = 'Kalsoom' ;
veri. rulo sayısı = 123456789 ;
veri. sınıf adı = 'D' ;
Gördüğünüz gibi bu değerler farklı türlerdedir: int, string, long ve char. “cout” deyimini kullanarak tanımlı tüm değerleri konsola yazdırıyoruz. Aşağıdaki anlık görüntüde programın çıktısını görelim:
Çıktı ekran görüntüsü, bir yapı için takma ad oluşturmak amacıyla birden fazla veri türü içeren yapıyla birlikte 'typedef' kullanımını açıkça göstermektedir. C++ programının tamamındaki yapılarla çalışmanın daha kısa, okunabilir ve daha basit bir yolunu sağlar.
Çözüm
C++'daki 'typedef' yapısını özetlemek gerekirse 'typedef', C++'ta ilkel, yerleşik veya kullanıcı tanımlı veri türlerinin takma adlarını oluşturmak için kullanılan bir anahtar kelimedir. 'struct' anahtar sözcüğüyle eşleştirilen 'typedef', kodun kısalığını ve netliğini artırmak için güçlü bir araçtır. “Typedef” tanımı genellikle kod satırlarının ve hafıza alanlarının azaltılmasına yardımcı olur. Ancak ne kısa ne de uzun, karmaşık projelerde hiçbir programda çok fazla “typedef” kullanımı belirsizlik yaratabileceği için önerilmez. Bu makalede, C++ programlarında “typedef”in çalışmasını, uygulanmasını ve kullanımını anlamak için basit örnekler yardımıyla “typedef” yapısını inceledik.