grüßt gott!
ich habe einige grundlegende fragen zu c++builder, welche sich mir inzwischen stellten.
zu den zeigern:
wenn ich speicher für einen zeiger reserviere, muss ich ihn nachher wieder (in c++ mit delete) freigeben, da dies nach rückkehr aus der funktion nicht automatisch geschieht und sonst speicherlücken entstehen. was ist jedoch eigentlich, wenn das gesamte programm beendet wird, erfolgt dann auch eine freigabe von eventuellen speicherlücken? über diesen zusammenhang bin ich mir noch im unklaren.
zu speziellen datentypen:
in c++ gibts neben den char-arrays auch noch den typ "ansistring". in der hilfe stand darüber:
"Die maximale Länge der Strings ist nur vom verfügbaren Speicher abhängig.
Optimale Speichernutzung durch gemeinsame Referenzen."
was bedeutet dies nun. wenn ich nun einen ansistring ohne startwert deklariere, wird dann bereits schon speicherplatz reserviert, oder erst bei einer wertzuweisung? wenn dieser datentyp wirklich so lange zeichketten aufnehmen kann, dann wäre doch kein speicher mehr vorhanden, wenn für ihn der gesamte heap reserviert wird? also wie funktioniert das nun; "wie viel" byte wird reserviert und "wann" erfolgt das?
genau die gleiche frage in grün zum typ "unsigned long long". deklariere ich einen bezeichner von diesem typ, wird dann sofort 8 byte vom heap in anspruch genommen?
wovon hängt eigentlich die gesamtgröße des freien heaps ab? gibts eine möglichkeit, diese zu ermitteln?
ich bedanke mich für eure eventuelle zeitinvestition in meine fragen
viva los tioz!