Информация об изменениях

Сообщение Re[3]: Как получить тип по указателю на него? от 28.06.2018 6:25

Изменено 28.06.2018 6:34 rg45

Re[3]: Как получить тип по указателю на него?
Здравствуйте, rg45, Вы писали:

R>Да, но не стоит только забывать, что std::remove_pointer применим не только к указателям, а вообще к любым типам. Между тем, ТС собирается применять это к алиасам типов, для которых не известно, является ли данный тип указателем, или чем-то другим. Возможно, имело бы смысл определить собственную метафункцию, во избежание "сюрпризов". Ну хотя бы так:


Можно проще:

template <typename T>
using MySpecialRemovePointer = std::enable_if<std::is_pointer<T>>::value, std::remove_pointer_t<T>>;


Re[3]: Как получить тип по указателю на него?
Здравствуйте, rg45, Вы писали:

R>Да, но не стоит только забывать, что std::remove_pointer применим не только к указателям, а вообще к любым типам. Между тем, ТС собирается применять это к алиасам типов, для которых не известно, является ли данный тип указателем, или чем-то другим. Возможно, имело бы смысл определить собственную метафункцию, во избежание "сюрпризов". Ну хотя бы так:


Можно проще:

template <typename T>
using MySpecialRemovePointer = std::enable_if<std::is_pointer<T>::value, std::remove_pointer_t<T>>;