Я хочу использовать средства очереди сообщений Windows для отправки структуры другому потоку. Но я обнаружил, что функция postthreadmessage предоставляет мне только два целочисленных параметра lparam и wparam для передачи аргументов, поэтому я решил поместить адрес структуры в lparam. Это правильный способ, которым окна передают структуру?
И я намерен использовать boost :: shared_ptr для хранения адреса структуры как в потоке-получателе, так и в потоке-отправителе. Я сомневаюсь, что когда два shared_ptrs выйдут из области видимости, структура будет освобождена дважды? Я не могу придумать способ гарантировать, что структура, размещенная в куче, будет на 100% освобождена. Есть идеи?