2、C++

P85 02 程序的内存模型-内存四区-全局区

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

P86 03 程序的内存模型-内存四区-栈区

因为return返回的是整形指针,所以用int*定义
在这里插入图片描述
在这里插入图片描述
第一次是因为编译器帮我们做一个保留。

在这里插入图片描述

P87 04 程序的内存模型-内存四区-堆区

重要

指针本质也是局部变量,放在栈上,指针保存的数据放在堆区。

在这里插入图片描述

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

在这里插入图片描述
只要程序员不把堆区释放,堆区就一直存活。

c-malloc c+±new

c++数组声明但不初始化,系统如何赋值

  得看数组声明位置

    1.全局/静态数组

       数组内容自动初始化为0

    2.局部数组

       void test()

   {

int a[10];    //此时是数组的值是随机的

memset(a,0,sizeof(a));   //将a数组的值都初始化为0

  }

    3.类的成员数组

       内容是随机的,也需要memset

P89 06 C++中的引用-引用的基本语法

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

别名可以跟原名一样。

P92 09 C++中的引用-引用做函数返回值

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

//返回局部变量引用
int& test01() {
	int a = 10; //局部变量
	return a;
}

//返回静态变量引用
int& test02() {
	static int a = 20;
	return a;
}

int main() {

	//不能返回局部变量的引用
	int& ref = test01();
	cout << "ref = " << ref << endl;
	cout << "ref = " << ref << endl;
	//第一次可以显示,第二次a的内存已经释放。

	//如果函数做左值,那么必须返回引用
	int& ref2 = test02();
	cout << "ref2 = " << ref2 << endl;
	cout << "ref2 = " << ref2 << endl;

	test02() = 1000;

	cout << "ref2 = " << ref2 << endl;
	cout << "ref2 = " << ref2 << endl;

	system("pause");

	return 0;
}

P93 10 C++中的引用-引用的本质

在这里插入图片描述

占位参数

在这里插入图片描述

P98 15 函数高级-函数重载-注意事项

标题
为什么const int const int & a 可以直接赋值为10
正常来说,引用都是赋值为变量。
const int & a = 10;
编译器给我们代码做了优化
在这里插入图片描述

P105 22 类和对象-封装-设计案例2-点和圆关系

#pragma once

是一个比较常用的C/C++预处理指令,只要在头文件的最开始加入这条预处理指令,就能够保证头文件只被编译一次。

我们在一个Cpp文件写多个类,是不合规范的。
我们需要将不同的类,写到不同的头文件上。

将文件分成头文件和源代码

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

详细

在这里插入图片描述

.h

需要头文件和类
函数的声明
在这里插入图片描述

.cpp

需要函数的实现

在这里插入图片描述

P110 27 类和对象-对象特性-深拷贝与浅拷贝

在这里插入图片描述

P114 32 类和对象-对象特性-成员变量和成员函数分开存储

空对象占用一个字节空间

没有成员变量的情况

在这里插入图片描述

有成员变量的情况

在这里插入图片描述
然后创建对象就是4个字节了。

P115 33 类和对象-对象特性-this指针的用途

不返回引用就会通过拷贝构造创建新对象,就不是原来的对象了
在这里插入图片描述
返回值类型去掉&,改成*
return this,去掉 *
this本身是指针。

P117 35 类和对象-对象特性-const修饰成员函数

在这里插入图片描述

P119 37 类和对象-友元-友元类

在这里插入图片描述

P119 37 类和对象-友元-友元类

类外写成员函数

在这里插入图片描述

P121 39 类和对象-C++运算符重载-加号运算符重载

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

P122 40 类和对象-C++运算符重载-左移运算符重载

在这里插入图片描述

如何查看cout源代码

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

P123 41 类和对象-C++运算符重载-递增运算符重载

没看懂。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值