Yerleşik türler (C++)
Yerleşik türler (temel türler olarak da adlandırılır) C++ dil standardı tarafından belirtilir ve derleyicide yerleşik olarak bulunur. Yerleşik türler hiçbir üst bilgi dosyasında tanımlanmamıştır. Yerleşik türler üç ana kategoriye ayrılır: integral, kayan nokta ve void. İntegral türleri tam sayıları gösterir. Kayan nokta türleri kesirli bölümleri olabilecek değerleri belirtebilir. Çoğu yerleşik tür, derleyici tarafından ayrı türler olarak değerlendirilir. Ancak, bazı türler eş anlamlıdır veya derleyici tarafından eşdeğer türler olarak değerlendirilir.
Geçersiz tür
türü void
boş bir değer kümesini açıklar. Tür void
değişkeni belirtilemiyor. Türü void
öncelikle değer döndürmeyen işlevleri bildirmek veya yazılmamış veya rastgele yazılan verilere genel işaretçiler bildirmek için kullanılır. Herhangi bir ifade açıkça dönüştürülebilir veya türüne void
dönüştürülebilir. Ancak, bu tür ifadeler aşağıdaki kullanımlarla sınırlıdır:
İfade deyimi. (Daha fazla bilgi için bkz. İfadeler.)
Virgül işlecinin sol işleneni. (Daha fazla bilgi için bkz. Virgül İşleci.)
Koşullu işlecin (
? :
) ikinci veya üçüncü işleneni. (Daha fazla bilgi için bkz. Koşullu İşleçli ifadeler.)
std::nullptr_t
anahtar sözcüğü nullptr
, herhangi bir ham işaretçi türüne std::nullptr_t
dönüştürülebilen türünde bir null işaretçi sabitidir. Daha fazla bilgi için bkz. nullptr
.
Boole türü
türü bool
ve false
değerlerine true
sahip olabilir. Türün bool
boyutu uygulamaya özgüdür. Microsoft'a özgü uygulama ayrıntıları için bkz . Yerleşik türlerin boyutları.
Karakter türleri
tür char
, temel yürütme karakter kümesinin üyelerini verimli bir şekilde kodlayan bir karakter gösterimi türüdür. C++ derleyicisi, , signed char
ve unsigned char
türündeki char
değişkenleri farklı türlerde olarak ele alır.
Microsoft'a özgü: Derleme seçeneği kullanılmadığı sürece /J
tür değişkenleri char
varsayılan olarak türdeki signed char
gibi yükseltilir.int
Bu durumda, bunlar tür unsigned char
olarak değerlendirilir ve işaret uzantısı olmadan olarak int
yükseltilir.
Tür wchar_t
değişkeni, geniş karakterli veya çok baytlı bir karakter türüdür. L
Geniş karakter türünü belirtmek için bir karakterden veya dize değişmez değerden önceki ön eki kullanın.
Microsoft'a özgü: Varsayılan olarak, wchar_t
yerel bir türdür, ancak için bir tür tanımı yapmak wchar_t
için unsigned short
kullanabilirsiniz/Zc:wchar_t-
. Türü __wchar_t
, yerel wchar_t
tür için Microsoft'a özgü bir eş anlamlıdır.
Türü char8_t
UTF-8 karakter gösterimi için kullanılır. ile aynı temsile unsigned char
sahiptir, ancak derleyici tarafından ayrı bir tür olarak değerlendirilir. Türü char8_t
C++20'de yenidir. Microsoft'a özgü: kullanımı char8_t
için derleyici seçeneği veya üstü gerekir /std:c++20
(örneğin /std:c++latest
).
Türü char16_t
UTF-16 karakter gösterimi için kullanılır. Herhangi bir UTF-16 kod birimini temsil edecek kadar büyük olmalıdır. Derleyici tarafından ayrı bir tür olarak değerlendirilir.
Türü char32_t
UTF-32 karakter gösterimi için kullanılır. Herhangi bir UTF-32 kod birimini temsil edecek kadar büyük olmalıdır. Derleyici tarafından ayrı bir tür olarak değerlendirilir.
Kayan nokta türleri
Kayan nokta türleri, çok çeşitli büyüklükler üzerinde kesirli değerlerin yaklaşık değerini sağlamak için bir IEEE-754 gösterimi kullanır. Aşağıdaki tabloda C++ dilinde kayan nokta türleri ve kayan nokta türü boyutlarına yönelik karşılaştırmalı kısıtlamalar listelenmiştir. Bu kısıtlamalar C++ standardı tarafından zorunlu kılındı ve Microsoft uygulamasından bağımsızdır. Yerleşik kayan nokta türlerinin mutlak boyutu standartta belirtilmez.
Tür | İçindekiler |
---|---|
float |
Tür float , C++ dilindeki en küçük kayan nokta türüdür. |
double |
Tür double , türünden büyük veya buna eşit, ancak türünden float daha kısa veya boyutuna eşit kayan bir nokta türüdür long double . |
long double |
Tür long double , türünden büyük veya buna eşit bir kayan nokta türüdür double . |
Microsoft'a özgü: ve double
gösterimi long double
aynıdır. Ancak ve double
derleyici long double
tarafından ayrı türler olarak değerlendirilir. Microsoft C++ derleyicisi 4 ve 8 baytlık IEEE-754 kayan nokta gösterimlerini kullanır. Daha fazla bilgi için bkz . IEEE kayan nokta gösterimi.
Tam sayı türleri
Tür int
, varsayılan temel tamsayı türüdür. Uygulamaya özgü bir aralıktaki tüm sayıları temsil edebilir.
İmzalı tamsayı gösterimi, hem pozitif hem de negatif değerleri tutabilen bir gösterimdir. Varsayılan olarak veya değiştirici anahtar sözcüğü mevcut olduğunda signed
kullanılır. unsigned
değiştirici anahtar sözcüğü, yalnızca negatif olmayan değerleri tutabilen imzasız bir gösterimi belirtir.
Boyut değiştirici, kullanılan tamsayı gösteriminin bit cinsinden genişliğini belirtir. Dil , long
ve long long
değiştiricilerini desteklershort
. Bir short
tür en az 16 bit genişliğinde olmalıdır. Bir long
tür en az 32 bit genişliğinde olmalıdır. Bir long long
tür en az 64 bit genişliğinde olmalıdır. Standart, integral türleri arasında bir boyut ilişkisi belirtir:
1 == sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) <= sizeof(long long)
Bir uygulamanın her tür için hem minimum boyut gereksinimlerini hem de boyut ilişkisini koruması gerekir. Ancak gerçek boyutlar uygulamalar arasında farklılık gösterebilir ve değişiklik gösterebilir. Microsoft'a özgü uygulama ayrıntıları için bkz . Yerleşik türlerin boyutları.
int
, , unsigned
veya boyut değiştiricileri belirtildiğinde signed
anahtar sözcük atlanabilir. Değiştiriciler ve int
tür varsa, herhangi bir sırada görünebilir. Örneğin, short unsigned
aynı unsigned int short
türe başvurun.
Tamsayı türü eş anlamlıları
Aşağıdaki tür grupları derleyici tarafından eş anlamlı olarak kabul edilir:
short
,short int
,signed short
,signed short int
unsigned short
,unsigned short int
int
,signed
,signed int
unsigned
,unsigned int
long
,long int
,signed long
,signed long int
unsigned long
,unsigned long int
long long
,long long int
,signed long long
,signed long long int
unsigned long long
,unsigned long long int
Microsoft'a özgü tamsayı türleri, belirli genişlik __int8
, __int16
, __int32
ve __int64
türlerini içerir. Bu türler ve unsigned
değiştiricilerini signed
kullanabilir. __int8
Veri türü, türüyle char
__int16
eş anlamlıdır, türüyle short
eş anlamlıdır, __int32
türüyle int
eş anlamlıdır ve __int64
türüyle long long
eş anlamlıdır.
Yerleşik türlerin boyutları
Çoğu yerleşik türün uygulama tanımlı boyutları vardır. Aşağıdaki tabloda, Microsoft C++'daki yerleşik türler için gereken depolama alanı miktarı listelenmiştir. Özellikle, long
64 bit işletim sistemlerinde bile 4 bayttır.
Tür | Size |
---|---|
bool , char , char8_t , unsigned char , signed char , __int8 |
1 bayt |
char16_t , __int16 , short , unsigned short , wchar_t , __wchar_t |
2 bayt |
char32_t , float , __int32 , int , unsigned int , long , unsigned long |
4 bayt |
double , __int64 , long double , long long , unsigned long long |
8 bayt |
Her türün değer aralığının özeti için bkz. Veri türü aralıkları.
Tür dönüştürme hakkında daha fazla bilgi için bkz . Standart dönüştürmeler.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin