像std::is_pointer
和std::is_integral
,如何实现std::is_cstring_pointer
?
我想检查指针是否是一个c类型的字符串指针,可以吗?
如何实现这个目标?
最佳答案
组合现有类型特征相当简单:
template <class T>
struct is_char_ptr
: std::integral_constant<bool,
std::is_pointer_v<T>
&& std::is_same_v<char,
typename std::remove_cv_t<std::remove_pointer_t<T>>>>
{};
请注意,指向 char 的指针可能指向空终止字符串,也可能不指向。是否不影响类型。
关于c++ - 像std::is_pointer和std::is_integral,std::is_cstring_pointer如何实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65288170/