我想创建一个可容纳8个字节数据的整数数组, 我使用了这段代码
int n =50;
long long *buffer = new long long [n];
long long 的大小为8个字节,但是
sizeof(buffer)
只提供 4个字节是否堆不允许超过4个字节的分配?我在这里错过了一些东西,但不知道它是什么。
答案 0 :(得分:3)
sizeof (x)
给出x
消耗的字节数。在您的情况下,x
是指向分配的指针。如果分配成功,您就知道它分配了所请求的大小(或者可能多一点)。