IST
PLAN
ADialog (5)
ADialog_Hr_Cal (1)
AJob (3)
App-Detail (7)
App-Link (39)
AReport (3)
Server-VM (1)
Software (1)
demo-online
Beschreibung
Bemerkung
Support
Hist
Plan
OK
abbrechen
Material
Stunden
Wiederholung
OK
abbrechen
z.B. try { dokument.speichern(); datenbank.commit(); status_anzeigen("Daten gespeichert"); } catch() { datenbank.rollback(); meldung("speichern fehlgeschlagen"); } Also, versuche zu speichern: - wenn's klappt, alles festschreiben - wenn nicht, alles rückgängig machen und den User informieren Buffer-Overflows sollten in Script/Runtime/VM-Sprachen auch nicht vorkommen. ( z.B. TypeScript/JavaScript, Java, C#, ... ) Diese benutzen jedoch Bibliotheken, die's ev. mit dem Speicher nicht so genau nehmen. Oder man benutzt unsafe-Blöcke oder unglückliche Compilerschalter. ( Undefiniertes Verhaltung (UB) glänzt am besten durch Abwesenheit )
...
...
C++ ohne UB geht auch -- z.B. mit C++/CLI jedoch nicht ISO C++ konform. ( Alles mit ^ ist hier auch verwalteter Speicher ) public ref class IntDotnetClass { public: int IntValue; public: IntDotnetClass() { this->IntValue = 0; } public: virtual ~IntDotnetClass() { System::Console::WriteLine("~destruct IntDotnetClass" + IntValue.ToString()); } public: int operator=( const int IntValue) { this->IntValue = IntValue; return this->IntValue; } public: virtual System::String^ ToString() override { return IntValue.ToString(); } };
Weiters stehen zur Vermeidung von Speicherproblemen - Rust - Fil-C - Valgrind - und ev. bald TrapC zur Verfügung.