Вы можете использовать не владеющую (или "слабую") ссылку, аналогично как weak_ptr
работает .
Что касается ожидания, пока король не умрет, вы можете использоватьмьютекс, который может удерживать король, пока он не умрет, и блок наследников ждет, пока король его освободит.
Если вам нужно ждать нескольких наследников, и у наследников есть какой-то порядок, вы можете получитьОбъект «селектор наследников», который отслеживает список наследников и их порядок приоритета, и когда король освобождает мьютекс, он назначает право собственности на этот мьютекс следующему наследнику в списке.