gpt4 book ai didi

c++ - 如何在不重复类型的情况下初始化静态成员

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:43 29 4
gpt4 key购买 nike

假设我们有以下类:

class A {
static SomeLongType b;
};

现在我们必须在适当的 cpp 文件中对其进行初始化。我可以想到以下几种方式:

SomeLongType A::b{}; // repetition of SomeLongType
decltype(A::b) A::b{}; // A::b written two times

两者对我来说似乎都有点麻烦。有没有更好的办法?

最佳答案

完美的解决方案是使用 C++11 auto。但正如 ecatmur 评论的那样,语言不允许这样做。

为什么不定义一个简单的宏呢?

#define DEFINE(x) decltype(x) x{}

struct A
{
static SomeLongType b;
};

DEFINE( A::b );

我真的很讨厌 C 宏,但它们在某些情况下很有用。

关于c++ - 如何在不重复类型的情况下初始化静态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21339459/

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