use*_*452 5 c++ templates const
我想使用模板函数确定类型是否为const,例如:
template <typename TTYPE> bool IsConst(TTYPE) {return false;}
template <typename TTYPE> bool IsConst(const TTYPE) {return true;}
Run Code Online (Sandbox Code Playgroud)
但这不起作用,任何替代建议?
chr*_*ris 11
你在寻找什么std::is_const.如果你给它的类型是const,value那么true.如果没有,value将会false.
以下是您可以在该页面上找到的示例:
#include <iostream>
#include <type_traits> //needed for is_const
int main()
{
std::cout << boolalpha; //display true/false, not 1/0
std::cout << std::is_const<int>::value << '\n'; //int isn't const
std::cout << std::is_const<const int>::value << '\n'; //const int is const
}
Run Code Online (Sandbox Code Playgroud)
输出:
false
true
Run Code Online (Sandbox Code Playgroud)
由于您尝试自己创建,我建议您查看提供的可能实现,以了解这些工作如何工作,以防您将来需要制作一个.这是一个很好的学习经历.