Kezdőoldal » Számítástechnika » Programozás » Pontosan mi az a size_type...

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

Figyelt kérdés
size_type max_size () const;

2012. jún. 22. 15:22
 1/7 iostream ***** válasza:

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.

2012. jún. 22. 15:31
Hasznos számodra ez a válasz?
 2/7 A kérdező kommentje:
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?
2012. jún. 22. 16:44
 3/7 iostream ***** válasza:

"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.

2012. jún. 22. 17:52
Hasznos számodra ez a válasz?
 4/7 A kérdező kommentje:

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?

2012. jún. 22. 20:25
 5/7 iostream ***** válasza:

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.

2012. jún. 22. 20:43
Hasznos számodra ez a válasz?
 6/7 _Jessy_ ***** válasza:

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 :)

2012. jún. 22. 21:14
Hasznos számodra ez a válasz?
 7/7 iostream ***** válasza:
De ez baromira nem garantált, hogy máshol is unsigned long lesz.
2012. jún. 23. 07:12
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!