class P
{
public:
int* pp;
int* ppp;
int x;
};
int main()
{
P* p;
printf("%d\n", sizeof(p)); //4byte
p = new P;
printf("%d\n", sizeof(p)); //4byte
p->pp = new int(0);
p->ppp = new int(0);
printf("%d", sizeof(p)); //4byte
}
ポインタについてわからないことがあり質問したいです。
1 newする前の変数pが4byte持っていましたが、このメモリはどこのメモリ領域に保持されているのか?
2 p->pp p->pppをnewしたのにも関わらずメモリ量が4byteなのはなぜか? sizeof()はヒープ領域のメモリを見ることができないのか?
以上2点がわかりません よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。