に次のコードは有効ですか?言い換えればポインタの初期化クラス
class Foo()
{
int* Bar;
public:
Foo()
{
*Bar = 123;
}
}
値はコンストラクタでそのスペースに割り当てられる前に、Bar
実際に実メモリ空間を指しているのだろうか?または、私は次のようなことをしていますか?
class Foo()
{
int* Bar;
public:
Foo()
{
Bar = new int[1];
*Bar = 123;
}
~Foo()
{
delete[] Bar;
}
}
メモリアドレスを手作業で割り当てようとしていますか?いずれにせよ、私は専門家ではありませんが、私はあなたが '新しいint'、または他のプリミティブを言うことは決してないと確信しています。 – jakev
Fitst oneが間違っています。あなたはそれを新しいものにする必要があります。 –