【发布时间】:2011-06-24 09:55:26
【问题描述】:
以下代码有效吗?
class Foo()
{
int* Bar;
public:
Foo()
{
*Bar = 123;
}
}
换句话说,Bar 会在构造函数中为该空间分配值之前实际指向实际内存空间吗?还是我做过这样的事情:
class Foo()
{
int* Bar;
public:
Foo()
{
Bar = new int[1];
*Bar = 123;
}
~Foo()
{
delete[] Bar;
}
}
【问题讨论】:
-
您是否尝试手动分配内存地址?无论如何,我不是专家,但我相当肯定你从不说“new int”或任何其他原语。
-
最合适的一个是错误的。你需要更新它。
标签: c++ class pointers constructor