2021年7月4日

摘要: 1) 浅复制 :只是拷贝了基本类型的数据,而引用类型数据,复制后也是会发生引用,我们把这种拷贝 叫做“(浅复制)浅拷贝”,换句话说,浅复制仅仅是指向被复制的内存地址,如果原地址中对象被改变 了,那么浅复制出来的对象也会相应改变。 深复制 :在计算机中开辟了一块新的内存地址用于存放复制的对象。 2) 阅读全文
posted @ 2021-07-04 01:47 超人不会灰啊 阅读(100) 评论(0) 推荐(0) 编辑
 
摘要: 1) 类与类之间的关系 has-A包含关系,用以描述一个类由多个部件类构成,实现has-A关系用类的成员属性表示,即一个类的 成员属性是另一个已经定义好的类; use-A,一个类使用另一个类,通过类之间的成员函数相互联系,定义友元或者通过传递参数的方式来实现; is-A,继承关系,关系具有传递性; 阅读全文
posted @ 2021-07-04 01:46 超人不会灰啊 阅读(417) 评论(0) 推荐(0) 编辑

2021年7月3日

摘要: 1) 值传递:有一个形参向函数所属的栈拷贝数据的过程,如果值传递的对象是类对象 或是大的结构 体对象,将耗费一定的时间和空间。(传值) 2) 指针传递:同样有一个形参向函数所属的栈拷贝数据的过程,但拷贝的数据是一个固定为4字节的地 址。(传值,传递的是地址值) 3) 引用传递:同样有上述的数据拷贝过 阅读全文
posted @ 2021-07-03 23:28 超人不会灰啊 阅读(470) 评论(0) 推荐(0) 编辑
 
摘要: 1) 形参变量只有在被调用时才分配内存单元,在调用结束时, 即刻释放所分配的内存单元。因此,形 参只有在函数内部有效。 函数调用结束返回主调函数后则不能再使用该形参变量。 2) 实参可以是常量、变量、表达式、函数等, 无论实参是何种类型的量,在进行函数调用时,它们都 必须具有确定的值, 以便把这些值 阅读全文
posted @ 2021-07-03 23:26 超人不会灰啊 阅读(302) 评论(0) 推荐(0) 编辑
 
摘要: 1) 当const修饰指针时,由于const的位置不同,它的修饰对象会有所不同。 2) int *const p2中const修饰p2的值,所以理解为p2的值不可以改变,即p2只能指向固定的一个变量地 址,但可以通过*p2读写这个变量的值。顶层指针表示指针本身是一个常量 3) int const * 阅读全文
posted @ 2021-07-03 23:23 超人不会灰啊 阅读(116) 评论(0) 推荐(0) 编辑
 
摘要: 1) 阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化, 因为以后就没有机会再去改变它了; 2) 对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为 const; 3) 在一个函数声明中,const可以修饰形 阅读全文
posted @ 2021-07-03 23:21 超人不会灰啊 阅读(70) 评论(0) 推荐(0) 编辑
 
摘要: 1.先来介绍它的第一条也是最重要的一条:隐藏。(static函数,static变量均可) 当同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 2.static的第二个作用是保持变量内容的持久。 (static变量中的记忆功能和全局生存期)存储在静态数 据区的变量会在程序 阅读全文
posted @ 2021-07-03 16:33 超人不会灰啊 阅读(728) 评论(0) 推荐(0) 编辑
 
摘要: 在程序执行过程中,由于程序员的疏忽或是系统资源紧张等因素都有可能导致异常,任何程序都无法保 证绝对的稳定,常见的异常有: 1.数组下标越界 2.除法计算时除数为0 3.动态分配空间时空间不足 (1)try、throw和catch关键字 #include <iostream>using namespa 阅读全文
posted @ 2021-07-03 16:15 超人不会灰啊 阅读(168) 评论(0) 推荐(0) 编辑

2021年7月2日

摘要: C++中的内存分区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区和代码区。 栈:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动 被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限 堆:就是那些由 new 分配的内存块,他们 阅读全文
posted @ 2021-07-02 22:01 超人不会灰啊 阅读(178) 评论(0) 推荐(0) 编辑

2021年7月1日

摘要: 算是为了与C语言进行兼容而定义的一个问题吧 NULL来自C语言,一般由宏定义实现,而 nullptr 则是C++11的新增关键字。 在C语言中,NULL被定义 为(void*)0, 而在C++语言中,NULL则被定义为整数0。 阅读全文
posted @ 2021-07-01 00:43 超人不会灰啊 阅读(116) 评论(0) 推荐(0) 编辑