Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

30.07.2013, 21:56

2d Vector elemente löschen ohe Iterator(Size_t)

Hey Leute

Habe probiert, mittels einer Schleife und size_t elemente eines 2d Vektors zu löschen, nur leider bekomme ich es nicht hin.

Könnt ihr mir auf die sprünge helfen?




C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include<iostream>
#include<vector>
using namespace std;
int main()
{
    vector<vector<int> > laga;
for(int i=0; i<10; i++)
{
    vector<int> hero;
    for(int j=0; j<10; j++)
    {
        hero.push_back(j);
    }
    laga.push_back(hero);
}
for(vector<vector<int> >::size_type ix=0; ix!=laga.size(); ++ix)
{
    for(vector<vector<int> >::size_type iy=0; iy!=laga[ix].size(); ++iy)
    {
        if(laga[ix][iy]==2)
        {
            
            laga[ix].pop_back();
        }
    }
    cout << endl;
}
for(vector<vector<int> >::size_type ix=0; ix!=laga.size(); ++ix)
{
    for(vector<vector<int> >::size_type iy=0; iy!=laga[ix].size(); ++iy)
    {
        cout <<laga[ix][iy];
    }
    cout << endl;
}





    return 0;
}


Gruß Leri

2

30.07.2013, 22:07

^^ entschuldigung, vor lauter compiler fehlern leider in die falsche sektion gepostet

3

30.07.2013, 22:51

1. Wieso willst du keinen Iterator benutzen?
2. pop_back entfernt das letzte Element.
3. Wenn du es dann schaffst, dein Element zu löschen, tut deine Schleife nicht mehr was du erwartest.

Was ist eigentlich dein Ziel?
"Theory is when you know something, but it doesn’t work. Practice is when something works, but you don’t know why. Programmers combine theory and practice: Nothing works and they don’t know why." - Anon

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

4

31.07.2013, 08:09

Das ist ungefähr so sinnvoll, wie in eine Datei schreiben zu wollen ohne streams oder file zu verwenden.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

DarioFrodo

Treue Seele

Beiträge: 349

Wohnort: Kerkau, 100km nördlich von Magdeburg

Beruf: Selbstständig

  • Private Nachricht senden

5

03.08.2013, 16:15

Ich schreibe immer mit fprintf und fwrite in Dateien :)
Erst wenn der letzte Fluss vergiftet,
der letzte Baum gefällt,
der letzte Fisch gefangen,
dann werdet ihr merken, dass man Geld nicht essen kann

Man verkauft die Erde nicht, auf der die Menschen wandeln.

- Indianerweisheiten

Ich bin auch ein einhornimmond ;)

FSA

Community-Fossil

  • Private Nachricht senden

6

03.08.2013, 18:42

Fwrite erwartet doch einen Parameter vom Typ File*, oder irre ich da?

Zitat

Der RCCSWU (RandomCamelCaseSomtimesWithUndersquare) Stil bricht auch mal mit den veraltet strukturierten Denkmustern und erlaubt dem Entwickler seine Kreativität zu entfalten.

buggypixels

Treue Seele

Beiträge: 125

Wohnort: Meerbusch

Beruf: Programmierer

  • Private Nachricht senden

7

05.08.2013, 09:03

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct TestData {
  int x;
  int y;
};

typedef std::vector<TestData*> DataList;

......
void clearList(DataList& list) {
  DataList::iterator it = list.begin();
  while ( it != list.end() ) {
    delete (*it);
    it = list.erase(it);
  }
}

Werbeanzeige