C++ Vector Problem

Diskutiere C++ Vector Problem im Developer Network Forum im Bereich Hardware & Software Forum; Hallo, ich habe eine Frage. Wenn ich einen Vector erstelle: vector<int> CreateNewVector(1); wie gebe ich dann den gesamten Vector im Speicher...
  • C++ Vector Problem Beitrag #1
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Hallo, ich habe eine Frage.
Wenn ich einen Vector erstelle:
vector<int> CreateNewVector(1);
wie gebe ich dann den gesamten Vector im Speicher wieder frei?
Ich möchte in einer Funktion einen vector erstellen und weiter geben:

Code:
vector<int> *CreateNewVector() {
	vector <int>NewVector(1);
	return &NewVector;
}
und der aufrufende Thread bekommt dann diesen Vector zurück und kann den dann über eine andere Funktion wieder zerstören, wie mache ich das nun, dass der Vector wirklich komplett aus dem Speicher verschwindet?
Wenn ichd as so wie im code kompilliere, wird als Fehler ausgegeben:
Code:
warning C4172: Adresse einer lokalen Variablen oder eines temporären Werts wird zurückgegeben
Sprich, der Vector wird zerstört, sobald die Funktion nicht mehr existiert, wie mache ich das, dass der Vector im Speicher existiert und ich einfach den Pointer von Thread zu Thread (mindestens zwei Threads arbeiten mit einem Vector) benutzen kann und irgendwann damit dann wieder den ganzen vector über den Pointer zerstören kann?
 
  • C++ Vector Problem Beitrag #2
WhiskeyCola16

WhiskeyCola16

Bekanntes Mitglied
Dabei seit
22.12.2001
Beiträge
971
Reaktionspunkte
1
Ort
Österreich
Den Speicher explizit selbst reservieren mit new.

Code:
int main(int argc, char** argv) {
    vector<int>* v=CreateVector();
    cout<<(v)->at(0)<<endl;
    delete(v);
    cout<<(v)->at(0)<<endl;
    return 0;
}

vector<int>* CreateVector(void) {
    vector<int>* v = new vector<int>();
    v->push_back(4);
    return v;
}
 
  • C++ Vector Problem Beitrag #3
Anno1989

Anno1989

Bekanntes Mitglied
Dabei seit
30.04.2006
Beiträge
1.293
Reaktionspunkte
0
Ort
NRW
Okay, habe es nun mit new und delete hinbekommen, habe aber die vectoren weggelassen. ;)
Danek für deine Hilfe, Thema hat sich erledigt. :goil:
 
Thema:

C++ Vector Problem

ANGEBOTE & SPONSOREN

https://www.mofapower.de/

Statistik des Forums

Themen
213.179
Beiträge
1.579.172
Mitglieder
55.878
Neuestes Mitglied
Satan666
Oben