程序内存模型

本文详细介绍了C++中的关键概念,包括数据类型、控制结构如break和continue,标准模板库(STL)中的容器,常见的排序算法,程序内存模型,函数操作,类和对象的使用,以及模板和高级特性如谓词和仿函数。特别强调了栈区和堆区的区别,指出动态内存管理的重要性,提醒开发者注意new和delete的正确使用,防止内存泄漏。
摘要由CSDN通过智能技术生成

匠心C++学习目录

数据类型与break和continue
STL容器
常见排序算法
程序内存模型
函数相关操作
类和对象相关操作
模板c++
谓词和仿函数


一、程序分区

在这里插入图片描述
在这里插入图片描述


二、程序运行前,编译后

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
注意:这里的常量为全局常量或者是直接输入的字符串,比如"hello"这样的,而并不是string s1 = “hello”
在这里插入图片描述

三、栈区

在这里插入图片描述

三、堆区

在这里插入图片描述
注意:
1)指针是局部变量,所以保存在栈区,但是指针指向的new ***()的值是保存在堆区的,需要手动释放
2)当使用new开辟空间时,需要配合delete,释放引用这段空间的指针
3)例子

int* fun()
{
	int* p = new int(10);
	return p;
}
void test()
{
	int *p = fun();
	cout << *p << endl;
	delete p;
}

4)如果指针指向的数组,此时释放需要在delete后加上[],变为:

int* p = new int[10];
delete[] p;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值