您的位置:首页 > 其它

new和delete表达式

2017-08-04 10:52 183 查看
当程序执行时,系统给当前程序分配了一个可用的内存池(heap)

Runtime-> dynamic memory allocation(动态内存分配)

在C++里,我们通过new表达式应用在类型指示符(内置类型或用户自定义)来实现动态内存分配。

new表达式返回的是一个指向新分配的对象的指针

#include <iostream>

#include <string>

using namespace std;

#include <iostream>
#include <string>
using namespace std;

int main()
{
/*从空闲存储区分配一个int对象,并使用它的地址初始化pi,实际上分配的对象并没有被初始化
int *pi = new int;
*/

int *pi =new int[1024];//引用  未初始化
int *pib=new int[1024]();//初始化值 0

int *pia = new int[10];//通过动态初始化对象数组,其中包含10个int值,并用它的地址出事pia,当然数组的元素并没有初始化。

string *ps=new string;//string 是一个类对象
string *psa=new string[10];

for(int i=0;i<1024;i++){
cout<<pi[i]<<endl;
cout<<pib[i]<<endl;
}

/*将对象的内存释放*/
delete pi;
delete pib;

delete ps;
delete []pia;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: