C ++: Ці з'яўляецца size_t кампаньёна тыпу так жа, як size_type?

Ці з'яўляецца size_t тыпу кампаньёна, як size_type? Што яны не стандартаваць імя тыпу кампаньёна, калі даходзіць да тыпу памеру - гэта значыць проста size_type?

0
тыпу «Спадарожнік»?
дададзена аўтар John Dibling, крыніца
а ў C ++ праймера Ліпмана, то size_type для кантэйнера тыпу кампаньён - прынамсі, гэта тое, што аўтар называе
дададзена аўтар yapkm01, крыніца
дададзена аўтар Pablo, крыніца
Я думаю, гэта пытанне ёсць адказ, які вы шукаеце: stackoverflow.com/questions/918567/size-t-vs-containersize-t‌ іп
дададзена аўтар offtehcuff, крыніца

2 адказы

Я не ведаю, які тып кампаньёна. Але size_t гэта стандартны тып у C, і станд :: size_t гэта стандартны тып у C ++, а таксама. Іншыя рэчы ў мове залежыць ад гэтага тыпу, як вынік SizeOf або аргумент новы [] .

Адзінае месца, дзе стандартныя перамовы аб size_type гэта Whitin кантэйнеры. Гэта паказана ў ліку іншага, тып значэння, якое вяртаецца памер() . Гэта, як правіла, вызначаецца ў тэрмінах Размеркавальнік :: size_type , які, як правіла, бут не павінен быць- зЬй :: size_t .

2
дададзена
Напрыклад, прыстасаваныя Размеркавальнік можа вылучыць памяць на сэрвэры ў Інтэрнэце, у гэтым выпадку, паказальнік , ptrdiff_t і size_type , верагодна, будзе класы са складанай логікай.
дададзена аўтар Mooing Duck, крыніца
@BlagovestBuyukliev: А вы думалі, што чытанне з дыска было дрэнна ...
дададзена аўтар Mooing Duck, крыніца
@MooingDuck: нічога сабе, вы ўзарвалі маю галаву :-)
дададзена аўтар Blagovest Buyukliev, крыніца

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
дададзена