Speichergröße des mit new reservierten Speicherplatz ermitteln
-
Gibt es eine Möglichkeit die Größe des mit new reservierten Speichers
zu einem späteren Zeitpunkt wieder zu erfragen?Soll heißen ich hab am Anfang das allociert:
char* temp =new char[100]
und will zu einem späteren Zeitpunkt wissen, wieviel
ich damals reserviert habe?Gruss & Danke,
Stef
-
Abfragen glaub ich nicht. Aber wenn du schön
delete[] temp; // man beachte die leeren eckigen Klammern!
machst, wird auch brav wieder alles freigegeben.
btw.: C-Arrays sind böse und lame.
-
Ja, ich delete auch brav immer alles...
Aber der TaskManager von XP zeigt immernoch eine viel zu hohe
Speicherauslastung für mein Programm an, wenn ich wieder
Chars gelöscht habe...Oder bin ich da mit dem TaskManager aufm falschen Dampfer?
Gibts Tools, die man empfehlen kann, womit man den von seinem
Programm verwendeten Speicher auslesen kann?Gruss,
Stef
-
was meintest Du mit:
btw.: C-Arrays sind böse und lame.
?
Ich benutze doch damit keine, oder ist das ein CArray?
Gruss,
Stef
-
Hallo,
zum memleaks suchen. http://www.cs.utexas.edu/users/jpmartin/memCheckers.html
-
Torkle schrieb:
Ja, ich delete auch brav immer alles...
Besser wäre: "Ich lasse auch brav immer alles deleten". In diesem Fall von einem std::vector.
-
Die größe ist doch (Anzahl_der Arrayelemente)*sizeof(typ), oder nicht ?
-
Glamdrink schrieb:
Die größe ist doch (Anzahl_der Arrayelemente)*sizeof(typ), oder nicht ?
Ja schon, aber gesetzt den Fall er weiss aus irgendeinem Grund nicht wieviel Elemenet er hat, geht das ja nicht. Zum Beispiel wenn er von ner externen Bibleothek nen Zeiger bekommt oder so.
-
hatte hier vor nicht allzulanger zeit die selbe(die gleiche??) frage gestellt,und es gibt keine möglichkeit, diese größe abzufragen.
-
otze schrieb:
hatte hier vor nicht allzulanger zeit die selbe(die gleiche??) frage gestellt,und es gibt keine möglichkeit, diese größe abzufragen.
Sehe den Sinn immer noch nicht, man kann doch das was man an den op-new übergibt in einer Variable speichern.
Und wenns dir Kummer bereitet dann schreib einen Allokator der mitzählt
MfG SideWinder
-
Noch besser: Benutze keine C-Array
Torkle schrieb:
Ich benutze doch damit keine, oder ist das ein CArray?
Nein, es ist ein C-Array und nicht die Array-Klasse aus der MFC. Ein Array, das aus dem guten alten C kommt, wo alles noch schlimmer war, als es heute ist.
-
boost::array heißt die neue Referenz am Grafikmarkt, bzw. dynamisch std::vector
MfG SideWinder
-
Ich hätte bitte gerne die neue Ge-Force Karte mit boost::array.
-
Optimizer schrieb:
Ich hätte bitte gerne die neue Ge-Force Karte mit boost::array.
Wenn die das benützen würden, die Grafik würde von selbst auf den Bildschirm springen
MfG SideWinder