C ++: dimension_t kabi sherik turiga tengmi?

Size_t hajmi_type kabi sherigma turi bormi? Ularning o'lchamiga mos keladigan o'lchov turiga mos keladigan o'lchov turi nima?

0
"Companion" turi?
qo'shib qo'ydi muallif John Dibling, manba
Lipmanning C ++ primerida yaxshi, konteyner uchun o'lchamning turi - sherikdir - hech bo'lmaganda, uni muallif chaqiradi
qo'shib qo'ydi muallif yapkm01, manba
qo'shib qo'ydi muallif Pablo, manba
Bu savolda siz izlayotgan javobga ega deb o'ylayman: stackoverflow.com/questions/918567/size-t-vs-containersize-t‌ ype
qo'shib qo'ydi muallif offtehcuff, manba

2 javoblar

Do'stimning turi qandayligini bilmayman. Lekin size_t C da standart turdagi hisoblanadi va std :: size_t C ++ da standart turdagi hisoblanadi. Tildagi boshqa narsalar, bu kodga qarab, sizeof yoki new [] parametrlariga bog'liq.

Standart size_type haqida gapiradigan yagona joy oq konteynerlardir. size() tomonidan qaytib kelgan qiymat turidagi boshqa narsalar qatoriga kiritilgan. Odatda, allocator :: size_type ko'rinishida belgilanadi, bu odatda - lekin std :: size_t bo'lishi shart emas.

2
qo'shib qo'ydi
Masalan, maxsus ajratgich internetda serverdagi xotirani ajratishi mumkin, bu holda pointer , ptrdiff_t va size_type murakkab mantiqiy darslar.
qo'shib qo'ydi muallif Mooing Duck, manba
@BlagovestBuyukliev: Va siz diskdan o'qiganingizni yomon deb o'ylarsiz ...
qo'shib qo'ydi muallif Mooing Duck, manba
@MooingDuck: Vau, siz mening boshimni portladi :-)
qo'shib qo'ydi muallif Blagovest Buyukliev, manba

size_t is not a companion type. For one thing, it's been around long before the very notion of companion types existed. Also, it's a part of C standard where the companion types can't exist.

0
qo'shib qo'ydi