当前位置: 首页 > article >正文

C++:new

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

一般使用new有三种格式:

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

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

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

释放空间需要用到delete。

例子:

#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要加强制类型转换,如:

#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。

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


http://www.kler.cn/a/281489.html

相关文章:

  • day_57
  • 【K8s】专题十二(3):Kubernetes 存储之 PersistentVolumeClaim
  • SQL的化身术:使用AS为列或表指定别名
  • Gerapy 分布式爬虫管理框架
  • 智能听诊器:宠物健康的科技守护者
  • SpringMVC基于注解使用:响应处理
  • [Unity] StateMachineBehaviour简单调用MonoBehaviour的方法
  • SSM课程资源库APP—计算机毕业设计源码23834
  • ES6笔记总结(Xmind格式):第三天
  • 微服务入门
  • Spring Cloud + JWT实现双Token刷新
  • 如何查看 Kubernetes 的操作审计日志?
  • 力扣(用最少数量的箭引爆气球)
  • Linux启动流程
  • SYSLOG消息格式RFC5424(RFC3164已废弃)
  • 使用 LeakCanary 检测内存泄漏的完整指南
  • EtherCAT 转 ModbusTCP 网关
  • 3.公司里面的弹框
  • PbootCMS程序安全设置建议
  • MATLAB 沿任意方向分层点云(82)