66问答网
所有问题
当前搜索:
指针指向new
C++中的delete到底是清空什么?是
指针
本身还是指针所
指向
的值?
答:
C++的delete要执行两个步骤:1 按照
指针
类型,调用该类的析构函数。(这个是c的free没有的功能)。2 根据指针类型,释放相应宽度的内存空间。(类似C的free)。从这个题目来说,delete是是否指针所
指向
的对象。而不是释放指针本身。一般而言,delete p;以后最后跟一个 p=NULL;避免无效指针的二次访问...
C++中 函数中定义的局部
指针
需要delete吗
答:
C++无论何种数据,是否要delete关键看其空间是否使用
new
分配的。1,函数冲定义的局部变量
指针
,单纯是一个局部变量是不用delete;2,C++ 如果类中有一个指针数据成员,而没有用new, 析构函数也是不用delete的;在类或函数中,int* ,char* 这些只要不是new的,也同样不用释放,系统会自动把他们占的...
...这里新建了一个指针数组,我想问此时
指针指向
的5个整数定了吗_百度...
答:
错误就在*a[i]=i;一句。a[i]是
指针
,它还没有
指向
,你就要给它的内容*a[i]赋值。根据“上下文”,改成 a[i]=&i;就能执行下去——这是初始化指针a[i]。
...int 有什么区别? 搞不懂int *p;和
new
出来的
指针
在内存中的存放位置...
答:
int *p; // 只是定义一个
指针
变量,但它还没有在堆内存分配空间。p=123; // 错误,因为还没有内存空间可以保存123这个值。int * p2 =
new
int; // 为指针变量p2分配了一个内存空间 p2=123; // 正确,因为此时p2有空间可以保存123这个值。
int **a; a =
new
int*[5];请帮我具体解释下
指向指针
定义动态二维数组...
答:
int **a;//定义
指针
a=
new
int*[5];//初始化a为五个int*指针 for循环给每个int*指针初始化
C++中,在一段正常的代码中,只要加入delete
指针
,程序就崩溃。怎么回事...
答:
所以你的delete是没有必要的。但是你的int *X =
new
int;这里开辟了堆上的一块内存,而后面的X=&varOne却把指向刚才开辟的内存的
指针指向
了另一个地方,你没有用其他的指针保存那个地址。那你开辟的堆上的内存就没有办法操作了,也就没有办法再去释放了,这就导致了内存泄露,如果 你的程序要...
是不是
new
运算一定要用delete,而delete删除的
指针
不一定是new运算申请...
答:
1)
new
和 delete 必须成对出现;2)new 底层调用操作系统堆内存管理函数HeapAlloc来分配堆内存;3)delete 操作符底层调用API接口函数HeapFree来释放堆内存;可以在VC++6.0下调试,通过调用栈来分析new,delete操作涉及的与操作系统的交互过程。1。静态区: 全局变量。2。堆: 程序执行是分配的内存 3。
怎么定义
指向
三维数组的
指针
答:
可以用三维申请空间的方法:double ***p;p = (double ***)calloc(13, sizeof(double **));for(k=0; k<13; k++){ p[k] = (double **)calloc(15, sizeof(double *));for(i=0; i<15; i++){ p[k][i] = (double *)calloc(3, sizeof(double));} } ...
int *p=
new
int[10];什么意思
答:
new
int[10] 新申请一段可以保存10个int型整数的内存空间 int* p 定义一个int型指针 int *p=new int[10] 让int型
指针指向
申请的内存空间的首地址!
char* a=
new
char;a="abc";会泄露内存么?
答:
char *a=
new
char;a="abc";会泄露内存么?不会,因为你定义的是一维数组,不过你上面的表达错误 char *a="new",char;a[]="abc";这样就不会报错了!你这里char* a=new,你用char又用了
指针
,很明显,你这是要定义
指向
字符串数组指针,正确表达式为:char *a="new",char;a[]="abc";如...
棣栭〉
<涓婁竴椤
4
5
6
7
9
10
8
11
12
13
涓嬩竴椤
灏鹃〉
其他人还搜