C++ получает тип шаблона из объектаC++

Программы на C++. Форум разработчиков
Anonymous
C++ получает тип шаблона из объекта

Сообщение Anonymous »


В настоящее время я разрабатываю приложение с графическим интерфейсом. Мой класс приложения с графическим интерфейсом представляет собой одноэлементный элемент, который зависит от шаблонного мьютекса и шаблонной задачи обработки событий.

//GUIApplication.hpp

#include шаблон класс GUIApplication { публика: GUIAприложение() { m_pInstance = это; } статический Mutex_T& getMutexInstance() { Assert(nullptr!= m_pInstance); вернуть m_pInstance->m_GuiMutex; } частный: встроенный статический GUIApplication* m_pInstance = nullptr; Task_T m_eventTask; Mutex_T m_GuiMutex; }; Теперь у меня есть несколько других классов, которым нужно блокировать мьютекс, прежде чем что-то делать. Однако я не хочу создавать шаблоны из этих других классов. Есть ли способ «получить» или «сохранить» тип шаблона из текущего экземпляра GUIApplication.

//Foo.hpp класс Фу { публика: Фу(); }; //Foo.cpp #include Фу::Фу() { //здесь (очевидно) автоматический вывод аргументов шаблона не работает автоматическая блокировка = std::scoped_lock(GUIApplication::getMutexInstance()); //делаем здесь что-то.... } Спасибо, ребята, за помощь :)

Вернуться в «C++»