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

12.10.2005, 12:59

Frage zu Listing 7.9

Hier mal ein Stück Code, um zu zeigen, worum es geht:

Quellcode

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
#include <iostream>
using namespace std;

int main()
#include <iostream>
using namespace std;

int main()
{
    int Ablage = 0;
    int* pWert = NULL;

    cout << "Wert eingeben: ";
    cin >> Ablage;

   pWert = new int[5];
    pWert[0] = Ablage;

    cout << "Wert ist: " << pWert[0] << endl;

    delete[] pWert;
    pWert = NULL;
    
    return 0;
}


Und das funktioniert auch so. Ist es also richtig, dass man keinen Indirektionsoperator für diese Arrays braucht?

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

2

12.10.2005, 15:44

Indirektionsoperator ??? was isn das? Ich hiffe was zu essen, hab nähmlich hunger ^^

C-/C++-Quelltext

1
delete[] pWert; 


nicht vergessen

.... du brauchst auch keine Arrays dazu.

Anonymous

unregistriert

3

12.10.2005, 16:26

Dereferenzierungsoperator dann halt. delete habe ich vergessen, ja, und dass man das so in dem Beispiel nicht machen muss, ist mir auch klar. Worum es eigentlich ging, ist, dass ich mit pWert[0] auf den Wert darin zugreifen kann, also nicht *pWert[0] schreiben muss.

4

12.10.2005, 16:29

Login vergessen ;)

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

5

12.10.2005, 18:09

delete ist wichtig, auch in kleinen Programmen.

pWert[2] ist auch nur eine Zeigeroperation...

6

12.10.2005, 18:44

Das bezog sich auf das Array, nicht auf das delete :-D . Mir gings nur darum, dass *pWert[2] für mich logischer aussieht.

Anonymous

unregistriert

7

12.10.2005, 19:02

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream> 

int main (void) 
{ 
   long* value = new long[5]; 

   std::cout << "Wert eingeben: "; std::cin >> value[0]; 

   std::cout << "Wert ist: " << value[0] << std::endl; 

   delete [] value;
    
   return 0; 
}

Besser. Einfach besser! Kein using namespace (wer braucht sowas schon?), keine überflüssigen variablen, kein overhead, kompakter. Besser halt

8

12.10.2005, 19:16

hmm Patrick... das ist definitiv nicht das, was es sein soll... Chris Keschnat wollte damit was naderes Testen.. das tust du nicht..
aber das mit man soll unsigned namespace nicht benutzen, meinet wegen...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

Anonymous

unregistriert

9

12.10.2005, 19:20

Devil
Begründung mit using --> Suchfunktion, ich habs ca. 6x geprädigt ;)

Für mich war die Aufgabe aus der Fragestellung nicht ersichtlich --> Ergo: Optimierung ;)

10

12.10.2005, 20:38

Das Programm hat keine Aufgabe, ich wollte damit nur etwas grundlegendes wissen. :help:

Werbeanzeige