指针内存分配问题
Pointer Memory Allocation Issue
试图为bobby数组分配内存,但不起作用。为什么?
我原以为bobby指针会被分配5个空间,但当我在本地运行和查找时,它只有一个空间。
#include "queue.h"
#include <iostream>
using namespace std;
int main()
{
// Create the queue
CustomQueue* obj = new CustomQueue(5);
int astar[100];
int* bobby;
bobby = new int[5];
// Place numbers into the queue
obj->push(50);
obj->push(40);
obj->push(30);
obj->push(20);
obj->push(10);
return 0;
}
我想你可能打算做
int bobby[5];
然后您将在调试器中看到所有元素。否则,您会将bobby视为值的指针,在visualstudio中,您需要键入以下内容CCD_ 1查看所有5个元素。
如果你是静态地做这件事,你还可以把它放在堆栈上。
还有
int bobby[5];
sizeof(bobby) = 20 (assuming 4 B/int)
但是
int* bobby;
sizeof(bobby) = 4.
您的调试器(我假设这就是您所说的"在本地查找"(只知道bobby
指针是指向单个整数的指针。调试器不理解以下分配new int[5]
。这是由于C++中指针和数组的工作方式,而不是由于您的代码不正确。
您可能可以指示调试器显示您分配的数组的更多以下元素,但执行此操作的方法将特定于您使用的任何工具。
相关文章:
- 在c++中使用动态分配的问题
- C++中的移动分配出现问题.非法指令: 4.
- 在函数中分配内存时出现问题
- 使用同一类中的方法重新分配字段时出现问题
- 使用 NTAllocateVirtualMemory 和 GetProcAddress 的内存分配问题不起作用
- 为什么在分配给成员变量之前获取unique_ptr的返回是一个问题?
- 使用 Libssh 将文件从服务器复制到客户端:分配文件复制目标路径时出现问题
- C++ DLL 堆内存分配问题
- 分配具有主参数类型的数组时出现问题
- 在C 中动态分配的内存的问题
- 未分配正在释放的指针 - 指针问题
- 使用STD :: MAP在数据及其性能问题中查找重复项.我可以预先分配吗?
- 单链表分配问题 (nullptr)
- C++函数问题中的数组分配
- 复制到新阵列时出现动态内存分配问题
- 我不知道为什么会发生堆损坏(关于内存分配问题)
- QFILE INIT/分配OP问题当对象是类成员时
- 使用队列和列表 STL 进行C++分配。在将数据填充到列表或队列中然后打印该数据时遇到问题
- C++内存管理问题(分配大量内存,但从不释放内存)
- 有问题分配字符串指针字符串值