我今天在阅读 C++ 类的默认构造函数时在想,假设我们有类 SortedArray 的这段代码:
class SortedArray
{
private:
struct arrayCell
{
int pageID;
int totalNeighbors;
};
};
我们分配一个指向此类对象的指针数组,然后使用默认构造函数初始化这些指针。会发生什么?会为结构存储内存吗?如果是,int 会被初始化成什么?谢谢。
最佳答案
旧答案:我很确定内存是为该元素创建的,如果您编译并运行它,则在访问该内存时不会出现段错误。整数将设置为默认值 0。
可以找到默认构造函数信息here .
编辑:以上答案不正确。代码不会为整数元素提供内存,因为结构已定义,但不会创建使用该结构的对象,除非您手动创建一个,在这种情况下,将创建这些整数的内存。
至于创建的整数的值:
它们不会被初始化为任何有意义的东西,它们只会包含创建它们之前内存中的内容。
关于c++ - 使用默认构造函数指向对象的指针数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13188240/