#include <bits/stdc++.h>
using namespace std;
//new,delete本身不是函数(是关键字),但是 int* p=new int[10],就是调用了new运算符重载函数,是函数
//new string(10); 这样写会报错(编译器当成强制类型转换了) invalid conversion from 'int' to 'const cahr*'
//new/delete 、new []/delete[]要配对使用
int main()
{
string* p=new string[10];
for(int i=0;i<10;i++)
*(p+i)="ABC";
for(int i=0;i<10;i++)
cout<<*(p+i)<<endl;
delete[] p;
int* p2=new int(10);//这里是分配了一个int类型的空间并初始化为10(不是new int[10],这样是分配了10个int类型的空间)
cout<<*p2<<endl;
delete p2;
string* p3=new string("Hello,World");
cout<<*p3<<endl;
delete p3;
return 0;
using namespace std;
//new,delete本身不是函数(是关键字),但是 int* p=new int[10],就是调用了new运算符重载函数,是函数
//new string(10); 这样写会报错(编译器当成强制类型转换了) invalid conversion from 'int' to 'const cahr*'
//new/delete 、new []/delete[]要配对使用
int main()
{
string* p=new string[10];
for(int i=0;i<10;i++)
*(p+i)="ABC";
for(int i=0;i<10;i++)
cout<<*(p+i)<<endl;
delete[] p;
int* p2=new int(10);//这里是分配了一个int类型的空间并初始化为10(不是new int[10],这样是分配了10个int类型的空间)
cout<<*p2<<endl;
delete p2;
string* p3=new string("Hello,World");
cout<<*p3<<endl;
delete p3;
return 0;
}
更加详细的:http://www.cnblogs.com/hazir/p/new_and_delete.html