如何解决type_traits中用于检查类型是否为const char *的函数是什么?
我需要制作一个模板函数myPrintf,以检查给定字符串中的%d%f%s是否正确。
我找到了这两个
std::is_integral_v<T>
std::is_floating_point<T>
但是我不知道如何检查给定的参数是否为const char *
有人知道吗?
谢谢
解决方法
您可以使用std::is_same_v
检查类型是否完全匹配。例如:
template <typename T>
void foo(const T &t) {
if constexpr (std::is_same_v<const char*,T>) {
// do something here
}
}
注意:std::is_same<A,B>::value
等同于std::is_same_v<A,B>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。