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