gpt4 book ai didi

c++ - 条件静态?

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:54:03 26 4
gpt4 key购买 nike

考虑以下类:

template<bool Condition> class MyClass
{
protected:
/* SOMETHING */ _var;
};

std::conditional<Condition, const int, int>::type _var;我可以选择 _var通过模板参数是 const 或非常量。

如何为静态/非静态做等效?

(无论你想要什么元编程技术,我都要求一个等价物)

最佳答案

您可能必须使用辅助结构来完成此操作,因为静态不是类型的一部分,而是存储说明符。例如:

template <class T, bool Static>
struct StaticSelector
{
T value;
};

template <class T>
struct StaticSelector<T, true>
{
static T value;
};

template<bool Condition> class MyClass
{
protected:
StaticSelector<float, Condition> _var;
};

话虽如此,在静态和非静态之间轻松切换可能不是一个好主意..

关于c++ - 条件静态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12606534/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com