![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
心情不好的狗
小白自学
展开
-
函数指针+函数指针作形参的例子
函数指针原创 2022-09-05 23:30:07 · 123 阅读 · 1 评论 -
内存4区管理
一、内存分区模型1)代码区:存放函数体的二进制代码,由操作系统进行管理。2)全局区:存放全局变量和静态成员变量。3)栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。4)堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收。1、代码区:存放CPU执行的机器指令。代码区是共享的,共享的目的就是对于被频繁执行的程序,只需要在内存中有一份即可。代码区是只读的。2、全局区:全局变量和静态变量存放在此。全局区还包含 常量区、字符串常量和其他常量也存放在此。该区域数据在程序原创 2021-09-09 15:40:55 · 67 阅读 · 0 评论 -
二叉树的三种非递归遍历
#include<iostream>#include<stack>#include<stdio.h>#include<vector>using namespace std;class TreeNode{public : char val; TreeNode* lchild; TreeNode* rchild;};//非递归前序遍历class Solution {public: //前序 vector<char>原创 2021-06-08 20:55:14 · 49 阅读 · 0 评论 -
深拷贝与浅拷贝
这里写自定义目录标题深拷贝与浅拷贝的区别:深拷贝与浅拷贝的区别:1 在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制。当数据成员中没有指针时,浅拷贝是可行的;但当数据成员中有指针时,如果采用简单的浅拷贝,则两类中的两个指针将指向同一个地址,当对象快结束时,会调用两次析构函数,而导致指针悬挂现象,所以,此时,必须采用深拷贝。2 深拷贝与浅拷贝的区别就在于深拷贝会在堆内存中另外申请空间来储存数据,从而也就解决了指针悬挂的问题。简而言之,当数据成员中有指针时原创 2021-06-03 16:18:47 · 79 阅读 · 0 评论 -
多态的学习(虚函数,纯虚函数,虚析构)
1多态的分类1)静态多态:函数重载和运算符重载属于静态多态,复用函数名2)动态多态:派生类和虚函数实现运行时多态(重点)文章目录1多态的分类一、静态多态和动态多态的区别?二、纯虚函数和抽象类三、虚析构和纯虚析构`一、静态多态和动态多态的区别?1)、静态多态的函数地址早绑定-编译时确定函数地址2)、动态多态的函数地址晚绑定-运行时确定函数地址代码示例:class Animal{public: virtual void speak() { cout <<原创 2021-03-16 22:44:19 · 200 阅读 · 0 评论