Re: Как получить тип по указателю на него?
От: Gaia  
Дата: 26.06.18 11:38
Оценка: 2 (1)
Здравствуйте, LazyKarlson, Вы писали:

LK>Откуда ноги поросли: Захотел HKEY из Win32 обернуть в unique_ptr с RegCloseKey в качестве deleter'a. Все хорошо, только в качестве типа в конструктор unique_ptr приходится передавать HKEY__, а не *HKEY или что-то подобное.


Конкретно для std::unique_ptr есть альтернатива — определенный тип pointer у класса Deleter'а


struct RegKeyDeleter
{
  using pointer = HKEY;
  void operator()(pointer p) const
  { 
     RegCloseKey(p);
  }
};

using unique_reg_key = std::unique_ptr<HKEY, RegKeyDeleter>;
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.