Pontosan mi az a size_type C++ standard vectot esetében? Ez milyen típus?





Annyit tudunk róla, hogy előjel nélküli egész típus, ami elég nagy, hogy bármekkora lehetséges tömböt megcímezhess vele.
Miért vagy rá kíváncsi annyira? Ha ennyire érdekel, keress rá a fordító fejállományaiban, hogy typedef .* size_type, és megtudod.





"Azt nem értem, hogy ez egy definiált tipus, egy alaptípus, vagy egy alaptípus, ami futásidőben dől el, vagy mi?"
Hát ezt pedig könnyen kiderítheted.
Definiált típus, ezt döntsd el, hogy mit jelent, mert nem értelmes. Minden típus definiált, különben nem tudod használni.
Az alaptípusokat számtalan helyen meg lehet találni felsorolva, nézd meg, hogy köztük van-e.
A C++ olyan nyelv, hogy statikusan típusos, tehát MINDEN változó típusa fordítási időben eldől. Ugyanígy nem tudsz olyan típusnevet leírni, ami ne lenne ismert fordítási időben.
Szóval ezek után tippeld meg, hogy mi a size_type. Vagy keresd meg, ahogy javasoltam.
szóval ez egy olyan általánosított integer típus, ami bármekkora lehet? Hogyan lehet olyant csinálni, ami bármekkora lehet? Ezt nem tudom elképzelni. Valami korlátja biztos van.
Deklarálhatok elvileg egy ilyent?
std::vector.size_type N;
És hogyan inicializálom?





Ilyet sehol nem állítottam, hogy bármekkora lehet.
Amúgy igen, te is bevezethetsz size_type típusú változókat, inkább :: mint .-vel.





int main()
{
vector<int> v;
char *c = v.max_size();
return 0;
}
A fordító kimenete pedig:
main.cpp:13: error: invalid conversion from 'std::vector<int>::size_type {aka long unsigned int}' to 'char*' [-fpermissive]
így is meg lehet tudni :)





Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!