gpt4 book ai didi

c++ - 对象静态成员的初始化

转载 作者:行者123 更新时间:2023-11-30 00:41:39 24 4
gpt4 key购买 nike

静态成员有时会让我感到困惑。我了解如何使用 int myClass::statVar = 10; 中的内容初始化一个简单的内置类型,例如 int,您将其放置在 .cpp 文件中,但我有以下类型的东西:

class myClass
{
public:
// Some methods...

protected:
static RandomGenerator itsGenerator;
}

基本思想很简单:myClass 需要为其成员函数之一访问随机生成器。我也可以只有几个生成器实例,因为每个对象都很大。但是,RandomGenerator 类型需要“初始化”,也就是说,通过调用 RandomGenerator::Randomize(),编译器不允许您这样做因为它不是 const 右值(是吗?)。

那么我怎样才能让它发挥作用呢?

或者也许我不应该在这种情况下使用静态变量,而应该以其他方式使用?

最佳答案

您可以创建包装类,其中包含 RandomGenerator 实例,并在其构造函数中调用 RandomGenerator::Randomize

关于c++ - 对象静态成员的初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3288848/

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