eigentlich ziemlich simpel ....
Gibst du eine Kopie raus -> mach das ding const
T getvalue() const;
Gibst du ne Refernz raus, schreib 2 getter fuer ne mormale und ne const Variante
T & getvalue();
const T & getvalue() const;
Macht ne konstante ref keinen sinn ... lass die const variante weg
Alles andere ist aushebeln des const mechanismus .... und sollte vermieden werden.
und ja, normalerweise wäre die Referenz const, aber das geht in meinem speziellen Fall leider nicht..
Das klingt nach nem zwielichtigen design ... du brauchst ne veraenderliche Referenz auf ne interne variable von ner Instanz die eigentlich const ist ???
Es gibt aber immer wieder faelle, wo ein logisches Konstant sich mit dem technischen beissen. Beispiel Mutexe zum locken.
Auch beim lesen sollt man locken, aber der mutex darf ned konstant sein dazu ...
Oder auch Caches, die beim eigentlichen Lesen doch daten veraendern.
dort hilft dir dann mutable weiter.
Ciao ...