000
31.10.2006, 23:21 Uhr
divB
|
Hallo!
Ich habe Objekte "Thread". Diese sind nicht eindeutig in einer einzelnen Liste organsisiert, jedoch muss trotzdem jedes Objekt eindeutig sein (PID). Die Eindeutigkeit würd über eine Klassenvariable gewährleistet, zugwiesen über die statische Methode Thread::getFreePid()
Nun will ich ein fork() implementieren, wozu ich ja ein Thread-Objekt kopieren muss, das will ich mit dem Copyconstructor machen.
Vernünftigerweise übergibt man dem Copyconstructor eine const-Referenz.
Jetzt will ich aber auch die Eltern/Kindrelationen abspeichern. Ich will jetzt src nach dst kopieren und dabei in dst einen Verweis auf den Vater speichern (parent) und dst in src in einer Liste children hinzufügen. Leider sind nun jegliche Referenzen "const" und der Compiler lässt mich daher die Pointer/Referenzen nicht zuweisen.
Wie mache ich das am besten? Ich könnte (wahrscheinlich) den Parameter beim Copyconstructor nicht const machen - aber ist das vernünftig nur weil ich einen Pointer auf das jeweilige andere Objekt abspeichern will?
Ich könnte den const auch wegcasten aber tut man das?
Was empfehlt ihr mir hier?
Vielen Dank!
mfg, divB |