Skapar jag en dynamisk array så här?
int * minArray = new int [100];
Hur får jag reda på storleken?
fungerar det att skriva sizeof minArray?
Jag ha sakapat en ganksa stor array på detta sättet och när jag koller hur stor den är så är den 4 bytes...
6 svar · 337 visningar · startad av Alpha II
Skapar jag en dynamisk array så här?
int * minArray = new int [100];
Hur får jag reda på storleken?
fungerar det att skriva sizeof minArray?
Jag ha sakapat en ganksa stor array på detta sättet och när jag koller hur stor den är så är den 4 bytes...
Re: Dynamisk array
>>Skapar jag en dynamisk array så här?
>>int * minArray = new int [100];
Ja.
>>Hur får jag reda på storleken?
Det får du inte.
>>fungerar det att skriva sizeof minArray?
Nej, sizeof returnerar storleken på pekaren, 4 bytes.
Du får istället lagra storleken i en egen variabel.
Så om jag ska skriva den till en fil måste jag själv räkna ut storleken?
Ett alternativ är ju att använda en vector :
vector<int> minArray;
minArray.push_back(56);
minArray.pusch_back(446);
int i = minArray.size();
i kommer att ha värdet 2.
Så om jag ska skriva den till en fil måste jag själv räkna ut storleken?
Om du har för avsikt att ge din array extra funktionalitet kan det vara läge att göra en klass som huserar din array. I den klassen kan du ju t.ex peta in storlek, operatoröverlagring m.m som gör att din array fungerar som du tänkt.. och kan direkt kopplas till en fil :)
I Windows-miljö finns funktionen _msize() som du skulle kunna använda. Dock är det något jag starkt avråder från, de förslag du redan fått är mycket bättre.
PeW skrev:
Så om jag ska skriva den till en fil måste jag själv räkna ut storleken?
Om du har för avsikt att ge din array extra funktionalitet kan det vara läge att göra en klass som huserar din array. I den klassen kan du ju t.ex peta in storlek, operatoröverlagring m.m som gör att din array fungerar som du tänkt.. och kan direkt kopplas till en fil :)
Kanske lite overkill med tanke på att programmet ska ladda in 2 bilder (raw) och spara dem som en fil.
Och arrayen ska hålla reda på datan från filerna.