У меня есть несколько вопросов относительно различий между константными и неконстантными версиями методов в C ++.
Пример:
MyObject* MyClass::objectReference()
const MyObject* MyClass::objectReference() const
Мои вопросы:
- Есть ли вообще способ отличить, какая версия метода вызывается вручную? Или это полностью / полностью автоматический процесс, и если да, то каковы точные правила определения того, какая версия должна быть вызвана?
- Что касается (1), если вы не можете отличить вызов константной версии от неконстантной, значит, невозможно вызвать одну версию метода из другой, чтобы предотвратить дублирование?
Как создать ссылку на ту или иную версию в документации одного из методов, использующих doxygen? (например, «константная версия myMethod ().» или «неконстантная версия myMethod ().»)Я обнаружил это сам - просто добавьте или опустите «константу» в конце сигнатуры метода.
this
. Я определенно согласен с тем, что у № 3 должен быть свой вопрос. - person bcat   schedule 04.08.2010