我在A类中有一个静态成员变量,它是指向B类对象的指针:
class B{};
class A
{
static B* b_ptr;
};
我想用位于另一个对象(c)内的B实例初始化它:
class C
{
B b; // <--- I want b_ptr to point to this object
} c;
我发现初始化“是不可能的”,因为b_ptr不能在C类或实际上在任何范围内初始化。
有可能吗?如果是这样,这是不明智的做法吗?
答案 0 :(得分:4)
对我来说,这看起来不错(我的意思是应该编译)。
class C
{
public:
B b;
} c;
B* A::b_ptr = &c.b;
但是指针,静态成员,全局变量,它们都有它们的位置,但是对我来说,所有这些似乎都是不明智的。