Мне может потребоваться переосмыслить мой общий дизайн немного больше, но, поскольку он стоит, похоже, что я могу сделать что-то вроде:
class A;
class B;
std::map<boost::shared_ptr<const A>, B> APtrToBMap;
Я пробовал это, и, похоже, он работает в простом случае (компилятор не жаловался, и простые тесты, похоже, работают). Но у меня есть другие мысли об этом подходе. Я подозреваю, что есть кое-какие ошибки, которые я не знаю.
Итак, вернее ли это в практическом смысле? Или есть некоторые недостатки, о которых я не знаю, когда я это делаю?