【发布时间】:2010-07-29 20:49:24
【问题描述】:
我有一个模板,我想根据参数的类型有条件地编译它。我只关心区分“普通旧数据”(POD),即整数等或类/结构。我在 Windows 上使用 c++ VS2008。
template<T>
class foo
{
void bar(T do_something){
#if IS_POD<T>
do something for simple types
#else
do something for classes/structs
#endif
}}
我一直在查看 boost 库,我可以看到它们似乎拥有我想要的东西。但是,我不明白 #if 语句的正确语法是什么。
任何帮助将不胜感激。
编辑 ---
阅读回复后,我发现我在对问题的定义中忽略了一些内容。类foo 是一个模板类,它只需要实例化与class type T 正确的bar 版本。我一直在寻找可以解决编译时间的解决方案。希望这能解决我的问题。
【问题讨论】: