匠心C++学习目录
数据类型与break和continue
STL容器
常见排序算法
程序内存模型
函数相关操作
类和对象相关操作
模板c++
谓词和仿函数
文章目录
一、程序分区
二、程序运行前,编译后
注意:这里的常量为全局常量或者是直接输入的字符串,比如"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;