You are not logged in.

  • Login

1

Tuesday, November 9th 2010, 2:58pm

Speicherplatz effizent

Hallo hab hier mal ne Aufgabe für alle Speicherfreaks !;)

dazu eine Kleine Vorgeschichte eine Junge Frau gibt einen Auftrag an zwei programmierer hans und jürgen sie sollen eine möglichst speichereffizente funktion für ein Modul das streng geheim istfür ein c++ handy entwerfen (was die Funktion genau tut wird nicht gesagt ist auch nicht relevant) die beiden entwerfen folgende codestückchen ...
hans ist als erster dran :

C/C++ Quellcode

1
2
3
4
5
6
7
int** k = new int*[10];
 
while ( x < 10 ) { // 10 Konfig-Bereiche anlegen
 
k[x] = new int[5];
 
x = x + 1; }// mit k kompliziertes Zeug zum Auslesen und Setzen// der Konfig-Daten vornehmen


als nächstes versucht jürgen sein glück der fest davon überzeut ist das sein code besser ist als der von hans

C/C++ Quellcode

1
2
3
4
5
6
7
8
9
struct KBereich { int infos[5]; };
 KBereich* pK;
 
while ( x < 10 ) { // 10 Kontakt-Objekte machen
pK = new KBereich;
x = x + 1 ;
 }
// mit pk kompliziertes Zeug zum Auslesen und Setzen// 
der Konfig-Daten vornehmen


obwohl die lösung von jürgen speichereffizienter ist als die von jürgen bekommt drotzem jürgen den auftrag wieso ?????

(sorry für die sch..... aufgabenstellung hab mir den mist nicht einfallen lassen )

bitte um hilfe komm da echt nicht weiter vermute nur das das ganze was mit dem struct und den zeiger auf struct zu tun hat aber warum ????

2

Tuesday, November 9th 2010, 4:49pm

obwohl die lösung von jürgen speichereffizienter ist als die von jürgen bekommt drotzem jürgen den auftrag wieso ?????

:thumbup:

3

Tuesday, November 9th 2010, 6:49pm

ohhh sorry böser fehler !!!

Nein natürlich bekommt hans den auftrag obwohl die lösung von jürgen speicher efizienter ist so rum solls sein !

4

Tuesday, November 9th 2010, 10:20pm

Weil Jürgen ein Memory-Leck baut und 9 der 10 Bereiche nicht mehr zugreifbar sind.

5

Wednesday, November 10th 2010, 9:56am

Danke wasserfall für deine antwort !

Kannst du mir dazu noch bitte eine erklärung schreiben (oder jemand anderes ;)) damit ich das ganze auch nachvollziehen kann ??????

Danke

6

Wednesday, November 10th 2010, 2:46pm

Quoted

C/C++ Quellcode

1
pK = new KBereich;

Bei jedem Schleifendurchlauf wird pK überschrieben, d.h. die Adresse des vorher allozierten Objekts geht verloren.

Social bookmarks