#include <iostream>
#include<algorithm>
#include<stdio.h>
using namespace std;
//c语言中
void test1()
{
int *p=(int *)malloc(sizeof(int));
*p=10;
if(p!=NULL)
{
free(p);
p=NULL;
}
int *array_p=(int*)malloc(sizeof(int));
for(int i=0; i<10; i++)
{
array_p[i]=i+1;
}
for(int i=0; i<10; i++)
{
printf("%d ",array_p[i]);
}
printf("\n");
if(array_p!=NULL)
{
free(array_p);
array_p=NULL;
}
}
///malloc free 是函数,标准库,stdio.h
///new 在堆上初始化一个对象的时候,会触发对象的构造函数
///free不会触发析构函数
//c++中
void test2()
{
int *p=new int;
*p=12;
if(p!=NULL)
{
delete p;
p=NULL;
}
int *array_p=new int[10];
for(int i=0; i<10; i++)
{
array_p[i]=i+2;
}
for(int i=0; i<10; i++)
{
printf("%d ",array_p[i]);
}
printf("\n");
if(array_p!=NULL)
{
delete[] array_p;
array_p=NULL;
}
}
int main()
{
test1();
cout<<"-------------"<<endl;
test2();
return 0;
}