Thread defined(variable)
(10 answers)
Opened by pktm at 2008-04-06 01:24 pktm+2008-04-07 12:56:49-- Weil C und C++ Systemprogrammiersprachen sind wenn man hier z.B. einen int deklariert, will man auch einen int haben und nicht eine Struktur mit irgendwelchen zusätzlichen Feldern, die den Zustand der Variablen tracken ;-) Wenn Du eine Funktion zur Überprüfung von Instanzen einer Klasse schreiben sollst, empfiehlt sich eine der folgenden Strategien: (1) Schreibe einen eigenen new-Operator für die Klasse, der sicherstellt, dass Speicher der für die Instanzen der Klasse alloziert wird, immer komplett auf 0 initialisiert wird. Führe dann eine Instanzvariable bool is_initialized ein, die vom Konstruktor oder einer anderen Initialisierungsroutine gesetzt wird. (2) Schreibe eine Funktion, die sämtliche Instanzvariablen der Klasse auf Konsistenz prüft, ohne a priori irgendwelche Annahmen über ihren Inhalt zu machen. Variante (2) ist besser, denn bei Variante (1) kann man nicht Sicherstellen, dass nicht jemand (z.B. mutwillig) eine Instanz der Klasse so alloziert, dass is_initialized von Anfang an auf true steht, ohne dass die Klasse initialisiert wäre... When C++ is your hammer, every problem looks like your thumb.
|