在C++中,空指针可以存储类对象的地址吗? 我是C++新手,请告诉我,在空指针中存储类地址是可能的吗?< /P> < P>不。C++类是类型,而不是对象。它们在内存中没有任何位置

在C++中,空指针可以存储类对象的地址吗? 我是C++新手,请告诉我,在空指针中存储类地址是可能的吗?< /P> < P>不。C++类是类型,而不是对象。它们在内存中没有任何位置,c++,pointers,void,C++,Pointers,Void,类中的函数,可能还有类的vtable,确实存在于内存中,但没有一个位置被视为表示类。是的,非常简单 class some_class { public: int Member; }; void Function() { some_class SomeObject; void* voidPointer = &SomeObject; } 但是,为了使用该对象的成员,需要将指针转换回正确的类型,这需要强制转换 voidPointer->Member = 10;

类中的函数,可能还有类的vtable,确实存在于内存中,但没有一个位置被视为表示类。

是的,非常简单

class some_class {
public:
    int Member;
};

void Function() {
    some_class SomeObject;
    void* voidPointer = &SomeObject;
}
但是,为了使用该对象的成员,需要将指针转换回正确的类型,这需要强制转换

voidPointer->Member = 10;    // This line is an error

some_class* SomePointer = static_cast<some_class*>(voidPointer);
SomePointer->Member = 10;

C++中没有类对象。类不是C++中的对象,你是怎么想这么做的。您能指定您的ideac++示例吗code@GingerPlusPlus:标准不同意你对前者的看法,而不是后者。@Benjamin:你的意思是,标准不要求类对象不存在?@GingerPlusPlus:在本文中,类对象是类型为类、结构或并集的对象。不是一个表示类的对象。谢谢你的示例。要清楚:它存储的是某个对象的地址,而不是某个类的地址。