C++:new

还记得之前帖子中提到的malloc吗,new和malloc都可以申请和释放空间。

一般使用new有三种格式:

1.指针变量名=new+类型;

2.指针变量名=new+类型(赋予一个初始值);

3.指针变量名=new+类型内存单元个数

释放空间需要用到delete。

例子:

cpp 复制代码
#include<iostream>
using namespace std;


int main()
{
	int* p=new int(100);
	cout << *p << endl;//100

	delete p;

	char* str = new char[4];
	str[0] = 'a';
	str[1] = 'b';
	str[2] = 'c';
	str[3] = '\0';
	cout << str << endl;

	delete[] str;//释放数组的格式



	return 0;
}

在C++中用malloc要加强制类型转换,如:

cpp 复制代码
#include<iostream>
using namespace std;


int main()
{
	int* p = (int*)malloc(4);
	*p = 100;
	cout << *p << endl;

	free(p);

	char* str = (char*)malloc(4);
	str[0] = 'a';
	str[1] = 'b';
	str[2] = 'c';
	str[3] = '\0';
	cout << str << endl;

	free(str);



	return 0;
}

注意:

new和malloc可以混用,但在C++中我们常用new。

之后的帖子中会总结二者的区别。

相关推荐
李燚15 小时前
Go 项目怎么组织:DDD 4 层 vs MVC vs 脚本式
开发语言·golang·mvc·ddd·agent框架·eino
2zcode15 小时前
免费开源项目文档:基于MATLAB图像处理的啤酒瓶口缺陷检测系统设计与实现
开发语言·图像处理·matlab
人工智能时代 准备好了吗16 小时前
AI回答内容进入率监测:引用识别、文本匹配与语义判断
开发语言·人工智能·python
LONGZETECH16 小时前
新能源汽车动力电池检测仿真教学系统:C/S 分层架构与数字化实训落地全解析
大数据·c语言·开发语言·人工智能·架构·系统架构·汽车
郝学胜-神的一滴16 小时前
中级OpenGL教程 013:渲染器类架构设计与逐帧渲染流程详解
开发语言·c++·unity·游戏引擎·图形渲染·opengl·unreal
Metaphor69216 小时前
使用 Python 冻结 Excel 文件中的行、列和单元格
开发语言·python·excel
言乐617 小时前
Python实现建造微服务商城后台
开发语言·python·算法·微服务·架构
KobeSacre17 小时前
Semaphore 源码
java·开发语言
cui_ruicheng17 小时前
Python从入门到实战(六):非序列容器
开发语言·python