99问答网
所有问题
当前搜索:
new申请内存
由
new
分配的
内存
空间是不连续的,对吗
答:
不是,这是分情况的,主要是编程人员的要求,例如你要定义一个数组,那么分配的这个空间就是连续的,如果你用的是链表,那就不一定连续,总之与编写的程序有关,如果程序中没有要求,那么分派的
内存
是随机的,可能连续也可能不连续!
用
new
分配的
内存
在程序结束时是不是由系统回收了啊?
答:
那是因为操作系统已经在这方面设计得比较完善了,所以就算你在程序中
new
一些空间没delete,程序退出时操作系统会回收所有的空间的 不过好习惯就是new出来的空间用完后就delete,如果你的程序是需要长时间运行的,new空间而不释放将会导致系统可用
内存
非常紧张,那操作系统就要频繁地进行换行操作了,这样一来...
c++ 中
new
最多可以分配多少
内存
10M 100M?
答:
windows下最大可以使用2个G,一次
new
最多一个G
c++不用malloc,
new
等如何
申请内存
?
答:
如今的计算机都用虚拟存储。数据量大于存储区容量也可以。存储区多程序共享。程序里的地址,也并非真地址。如果你想节省
内存
,按需要 随时
申请
增加 或 减少 内存占有数,可以用 realloc。下面是程序例子:输入 暂时不知道个数的 整数,把它们存入动态分配的数组,直到输入数-999时结束,打印出输入数。in...
为什么
new
/ malloc在Win x64上失败虽然有大量的可用
内存
答:
new
会调用类的构造函数,“返回”的相应的类型 malloc只
申请内存
,返回的是void* delete只能和new配套使用 free只能与malloc(还有几个类似的函数)
C++中的
new
返回值是指针吗?Java中new返回值是什么?
答:
首先说明一下C++中,
new
返回的是指针,而java中返回的是引用,所谓的引用就是类的一个别名\x0d\x0a\x0d\x0a假设有个类Test\x0d\x0a在C++中你执行了Test *t=new Test();电脑实际上是分成好几步完成的\x0d\x0a首先 要在堆中
申请
类的
内存
(new 运算符实际是调用malloc函数来分配内存的...
C++中的
new
返回值是指针吗?Java中new返回值是什么?
答:
首先说明一下C++中,
new
返回的是指针,而java中返回的是引用,所谓的引用就是类的一个别名 假设有个类Test 在C++中你执行了Test *t=new Test();电脑实际上是分成好几步完成的 首先 要在堆中
申请
类的
内存
(new 运算符实际是调用malloc函数来分配内存的,调用new之前会把类的大小当作参数传入)2,...
使用
new
运算符分配的
内存
空间的长度必需是常量吗
答:
不能自定义
new
分配
内存
的大小,如 class student { int age;};student stu=new student();这样student类占用多大空间就会分配多大的内存 在c语言中的malloc函数可以指定分配内存的大小,malloc中的大小可以为变量 int size=10;int *p=(int *)malloc(size); //这样是可以的 ...
C++函数中
new
一块
内存
,作为返回值,什么时候,怎么释放 ?
答:
char * ch ="AAA", 也可以作为返回值。没有问题的。虽然ch是局部变量,存储在栈中,但它指向的“AAA ”是常量,属于静态分配,存储在静态存储区,函数跳出时常量也不会被释放,释放的只是ch 变量,它存的只是“AAA ”的地址,但它已经返回给主函数接收了,它释放了没关系,所以主函数同样可以接收...
c++的
new
返回值是指针是吧,java的new返回值是什么?
答:
首先说明一下C++中,
new
返回的是指针,而java中返回的是引用,所谓的引用就是类的一个别名 假设有个类Test 在C++中你执行了Test *t=new Test();电脑实际上是分成好几步完成的 首先 要在堆中
申请
类的
内存
(new 运算符实际是调用malloc函数来分配内存的,调用new之前会把类的大小当作参数传入)2,...
棣栭〉
<涓婁竴椤
3
4
5
6
8
7
9
10
11
12
涓嬩竴椤
灏鹃〉
其他人还搜