如果且仅如果满足编译时条件,我想执行一次typedef
。如果条件不满足,则根本不应执行typedef
。
C++11是否支持这种操作?
示例:
class A {
std::conditional_typedef<true,int,myType1>; // Performs "typedef int myType1".
std::conditional_typedef<false,int,myType2>; // Does nothing at all.
};
我正在寻找这个虚构的 std::conditional_typedef
。
if(...) typedef ...;
的示例代码?特别是,如果这个typedef没有被“执行”,那么使用该typedef的代码会发生什么? - Quentinstd::enable_if
是一个用于编写模板函数或类时,根据条件来启用或禁用重载的类型特性。如果条件为真,则std::enable_if
的第二个参数为该类型,否则没有第二个参数,从而导致编译器无法匹配此版本的函数或类模板。该特性通常与模板元编程结合使用,用于提供更具有泛化性和可扩展性的代码实现。 - Danhvoid
。这是否适用于您的情况? - Quentin#ifdef
么? - Jack Aidley