Dead_Rabbit Skrevet 12. mai 2004 Skrevet 12. mai 2004 typedef vector<double>::size_type vec_sz; vec_sz size = homework.size(); Slik låter koden, og slik låter mine problemer: Jeg skjønner ikke hvorfor vi definerer vec_sz. Ut ifra det jeg skjønte av boka så er vec_sz bare en forkortelse for vector<double>::size_type, og det er greit nok. Men når vi begynner å definere variabler av typen vec_sz, så går det litt i surr. Hvordan kan dette ha seg? Hvorfor skal vi definere en egen type for dette? Er det ikke like greit med: vector<double>; int size = homework.size(); ? Noen som vil hjelpe??
søppel Skrevet 12. mai 2004 Skrevet 12. mai 2004 (endret) vector<..>::size() returnerer ikke (nødvendigvis) int, men den returnerer garantert size_type. Kanskje, size_type er definert som int .. og det vil da fungere like greit med det du har brukt i paste nr. 2. Kanskje, size_type er definert som unsigned long .. og det vil da fungere like greit med det du har brukt i paste nr. 2, helt til et visst punkt, til size() returnerer noe som ikke får plass i en int f.eks. Det er bedre å la biblioteket avgjøre hvilken type vector<..>::size() returnerer, for i forskjellige situasjoner kan size_type være forskjellig. Endret 12. mai 2004 av søppel
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå