Dynamische Array Container Implementierung
-
camper schrieb:
Ich bin nicht sicher, was daran schwer verständlich sein sollte, dass Ressourcen nur freigegeben werden können, sofern sie zuvor angefordert wurden.
Der Versuch, Ressourcen die nicht angefordert wurden, zurückzugeben, ist danach ein Fehler (Nichts als Kategorie).
Andererseits kann es sinnvoll sein, eine Menge Ressourcen freizugeben, auch wenn diese Menge zufällig leer ist (Nichts als Quantität).
In Bezug auf Speicher kann in C++ beides ohne Umstände modelliert werden.Was hat das mit
delete[]zu tun?camper schrieb:
TyRoXx schrieb:
Die eingebaute Abfrage ist ein Feature von C++, eine Abstraktion. Man sollte nicht so tun als gäbe es die nicht.
Macht ja auch keiner.
Doch, mit der Abfrage tut man das. Das ist so ähnlich wie
while ((i != 0) == true). Kann man machen, sollte man aber nicht.camper schrieb:
Oder meinst du eher, dass man dieses Feature nutzen sollte, weil es einmal da ist? Dann interessiert mich, unter welcher Regel du diesen Schluss vom Sein aufs Sollen subsumierst.
Was willst du eigentlich?
delete[]hat Eigenschaften, die man bei der Benutzung beachten sollte. Ich behaupte nicht, dass mandelete[]jemals benutzen sollte oder dass seine Eigenschaften immer gut sind.camper schrieb:
Reichst du beim Lotto deinen Tippschein auch dann ein, wenn du weisst, dass es eine Niete ist?
Millionen Menschen tun das, ich nicht.
Was hat das mitdelete[]zu tun?
-
TyRoXx schrieb:
camper schrieb:
Ich bin nicht sicher, was daran schwer verständlich sein sollte, dass Ressourcen nur freigegeben werden können, sofern sie zuvor angefordert wurden.
Der Versuch, Ressourcen die nicht angefordert wurden, zurückzugeben, ist danach ein Fehler (Nichts als Kategorie).
Andererseits kann es sinnvoll sein, eine Menge Ressourcen freizugeben, auch wenn diese Menge zufällig leer ist (Nichts als Quantität).
In Bezug auf Speicher kann in C++ beides ohne Umstände modelliert werden.Was hat das mit
delete[]zu tun?um...
Speicher ist ein Ressource.
delete gibt Speicher frei.
delete kann auch auf Nullzeiger angewandt werden.
Nullzeiger können repräsentieren, dass nie Speicher angefordert wurde.TyRoXx schrieb:
camper schrieb:
TyRoXx schrieb:
Die eingebaute Abfrage ist ein Feature von C++, eine Abstraktion. Man sollte nicht so tun als gäbe es die nicht.
Macht ja auch keiner.
Doch, mit der Abfrage tut man das. Das ist das so ähnlich wie
while ((i != 0) == true). Kann man machen, sollte man aber nicht."Man sollte nicht so als gäbe es die nicht." -> "so tun als ob" impliziert Intention oder Wille. Dein while-Beispiel deutet eher auf Unwissenheit oder Ignoranz hin. Weil also nicht klar ist, was du eigentlich sagen wolltest, habe ich die Aussage erst einmal wörtlich interpretiert.
TyRoXx schrieb:
camper schrieb:
Oder meinst du eher, dass man dieses Feature nutzen sollte, weil es einmal da ist? Dann interessiert mich, unter welcher Regel du diesen Schluss vom Sein aufs Sollen subsumierst.
Was willst du eigentlich?
delete[]hat Eigenschaften, die man bei der Benutzung beachten sollte. Ich behaupte nicht, dass mandelete[]jemals benutzen sollte oder dass seine Eigenschaften immer gut sind.Das ist die zweite Interpretation. Was du sagst, ist im Prinzip:
X hat die Eigenschaft A. Also sollte man die Eigenschaft A ausnutzen. (X=delete; A=kann auch mit Nullzeigern genutzt werden)
Das ist (ohne eine entsprechende Ableitungsregel) ein Trugschluss.TyRoXx schrieb:
camper schrieb:
Reichst du beim Lotto deinen Tippschein auch dann ein, wenn du weisst, dass es eine Niete ist?
Millionen Menschen tun das, ich nicht.
Was hat das mitdelete[]zu tun?Es ist ein anschauliches, analoges Beispiel.
-
camper schrieb:
TyRoXx schrieb:
camper schrieb:
Oder meinst du eher, dass man dieses Feature nutzen sollte, weil es einmal da ist? Dann interessiert mich, unter welcher Regel du diesen Schluss vom Sein aufs Sollen subsumierst.
Was willst du eigentlich?
delete[]hat Eigenschaften, die man bei der Benutzung beachten sollte. Ich behaupte nicht, dass mandelete[]jemals benutzen sollte oder dass seine Eigenschaften immer gut sind.Das ist die zweite Interpretation. Was du sagst, ist im Prinzip:
X hat die Eigenschaft A. Also sollte man die Eigenschaft A ausnutzen. (X=delete; A=kann auch mit Nullzeigern genutzt werden)
Das ist (ohne eine entsprechende Ableitungsregel) ein Trugschluss.Wow, wir sind schon bei der Philosophie angekommen. Wenn du nichts mehr über C++ zu sagen hast, sind wir ja fertig.
camper schrieb:
TyRoXx schrieb:
camper schrieb:
Reichst du beim Lotto deinen Tippschein auch dann ein, wenn du weisst, dass es eine Niete ist?
Millionen Menschen tun das, ich nicht.
Was hat das mitdelete[]zu tun?Es ist ein anschauliches, analoges Beispiel.
Ich frage mich so langsam wer hier die Niete ist.
EDIT: Ah, du meinst den Zettel, mit dem man seinen Gewinn abholen kann.
Das unnötige Prüfen des Scheins entspricht in meinen Augen eher einemassert(ptr), wenn die Programmlogik das hergibt. Beides kostet nichts und kann in Ausnahmefällen helfen.
Die Abfrage vordeletebringt aber nichts, gar nichts, unter keinen Umständen nie und niemals. Das ist wie das Einreichen einer Rolle Klopapier bei der Lottostelle. Du kannst noch so viel Klopapier herbeischleppen, aber du wirst höchstens einen Tritt in den Hintern gewinnen (= Redundanz, schlechte Lesbarkeit, Verwirrung).
Wo hier die Analogie zu deinen Gunsten ist, weiß ich immer noch nicht.
Ist die Niete etwa ein Nullzeiger unddeletedas Einreichen? Wie gesagt,deleteüberprüft, ob du gewonnen hast.
deleteist die LottoCard von C++.
-
TyRoXx schrieb:
Wow, wir sind schon bei der Philosophie angekommen.
Es tut mir leid, wenn du damit überfordert bist.
TyRoXx schrieb:
Wenn du nichts mehr über C++ zu sagen hast, sind wir ja fertig.
Das glaube ich auch. Wenn du meinst, Logik über Bord werfen zu können, weil du ja sowieso recht hast.
TyRoXx schrieb:
Die Abfrage vor
deletebringt aber nichts, gar nichts, unter keinen Umständen nie und niemals.Ich sehe das anders. Da es gerade um diese Frage geht, taugt diese Behauptung nicht als Argument.
-
Könnt ihr bitte zum Threadthema zurück kommen, insbesondere wenn eure Argumente an der Grenze zu persönlichen Beleidigungen angekommen sind (*TyRoXx anguck*)? Falls ihr weiter dieses Thema diskutieren wollt, spalte ich es hier ab oder macht selber einen neuen Thread auf. Aber ich glaube, es gibt nichts neues zu sagen, was hier im Forum nicht schon 1000x gesagt worden ist (Und TyRoXx hat sowieso Recht, er kann nur nicht gut diskutieren :p ).