webForumDet fria alternativet

Dynamisk allokering

5 svar · 289 visningar · startad av Nexus86

Nexus86Medlem sedan okt. 20023 030 inlägg
#1

Kan jag allokera tvådimenosionella arrayer dynamiskt med exempelvis new? Eller kan jag skapa tvådimensionella vektorer? Detta fungerar iaf inte. :l

vector<vector<int>> MapData;
spangoMedlem sedan juni 20008 205 inlägg
#2

Jo, men >> är en operator i C++. Släng in ett mellanslag så funkar det bättre:

vector<vector<int> > MapData;
Nexus86Medlem sedan okt. 20023 030 inlägg
#3

Jaha! Glömde det. :p

Tackar!

Nexus86Medlem sedan okt. 20023 030 inlägg
#4

Hur blir koden sedan då? :o

vector<vector<int> > MapData;

MapData.push_back(new vector<int>);

Detta är förmodligen fel men hur ska det vara? :q

spangoMedlem sedan juni 20008 205 inlägg
#5

Det borde(?) funka så här:

vector< vector<int> > MapData(10);

Då skapar den en vector bestående av 10 tomma vector<int>. Vill du lägga till efterhand borde det räcka med MapData.push_back(vector<int>()) om jag inte misstar mig. Du kan inte göra MapData.push_back(new vector<int>()) eftersom new vector<int>() resulterar i en vector<int>*, vilket du ju inte kan lagra i en vector< vector<int> >

Nexus86Medlem sedan okt. 20023 030 inlägg
#6

Jaha! Tackar! Ska prova detta. :)

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)