c++ new的使用

new的作用:开辟一段空间存放数据

new的返回值是一个指针

如  int型数据  返回一个int* 的数据 所以要用int *来接收

释放内存时:

1.普通变量  直接 delete 变量名

2.数组   要添加[]  delete[] 数组名

int main()
{
	int* p1= new int();//创建一个未初始化的int型的数
	int* p2 = new int(10);//创建一个以10初始化的数
	int* p3 = new int[10];//创建一个含有10个int型数据的数组
	//给数组赋值
	for (int i = 0; i < 10; i++)
	{
		p3[i] = i;
	}
	cout << *p2 << endl;
	cout << "输出数组里面的数" << endl;
	//因为数组是一个指针所以不用带*号
	for (int i = 0; i < 10; i++)
	{
		cout << p3[i] << endl;
	}
	//释放内存
	delete p1;
	delete p2;
	//数组的释放幺带[]
	delete[]p3;
	return 0;

}
class person
{
public:
	person(string n,int a):name(n),age(a){}
	//释放内存可以在析构函数释放
	~person() {}

	string name;
	int age;
};
int main()
{
	//开辟自定义类型数据
	person* p = new person("wang", 45);
	cout << p->age << endl;
	cout << p->name << endl;
	//自己清理
	delete p;
	return 0;
}

你可能感兴趣的:(c++知识点,c++)