![](https://img-blog.csdnimg.cn/20190913152542449.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
简历知识点
小菜鸡的蜕变之路
长路漫漫,若能坚持,未来可期,加油~
展开
-
模板
有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int{public : Compare(int a,int b) { x=a; y=b; } int max( ) { return (x>y)?x:y;}int min( )...转载 2019-07-07 21:35:25 · 75 阅读 · 0 评论 -
对*p++与*++p;(*p)++ 与 ++(*p)的理解
参考:https://blog.csdn.net/baidu_37973494/article/details/82761455*p++:等同于:*p; p += 1;解析:由于*和++的运算优先级一样,且是右结合。故*p++相当于*(p++),p先与++结合,然后p++整体再与*结合。前面陈述是一种最常见的错误,很多初学者也是这么理解的。但是,因为++后置的时候,本身含...转载 2019-07-16 08:57:13 · 27408 阅读 · 12 评论 -
实现strlen() 、strcpy()学习笔记
①strlen()参考:https://blog.csdn.net/windyj809/article/details/80037006功能:其用于计算字符串中字符的个数,不包括'\0',遇到'\0'结束。注:1、我们定义的指针不能为空,所以要使用assert进行断言。2、因为是判断字符串长度,所以字符串是不变的,所以用const修饰,使其更加安全。第一种方法,使...转载 2019-07-16 16:45:27 · 180 阅读 · 0 评论 -
大小端模式总结
大端:所谓的大端存储,即低地址存放高位数据,高地址存放低位数据。小端:所谓的小端存储,即低地址存放低位数据,高地址存放高位数据。对于一个数据0x12345678,对应大小端存储方式如下:小端存储方式0x00 |78|0x01 |56| 0x02 |34|0x03 |12|大端存储方式0x00 |12|0x01 |34| 0x...原创 2019-07-18 22:50:14 · 191 阅读 · 0 评论 -
继承_多态的基础复习
构造函数调用顺序:基类构造函数->对象成员构造函数->派生类本身的构造函数,析构顺序与其相反。注:基类调用构造函数顺序与继承顺序有关,按继承顺序从左到右对基类进行构造。 若继承中有虚继承的,虚继承的优先构造。 局部对象,在退出程序块时析构 静态对象,在定义所在文件结束时析构 全局对象,在程序结束时析构 继承对象,先析构派生类,再析构父类 对象成员,先析构类对象,...原创 2019-07-23 22:10:34 · 191 阅读 · 0 评论 -
sizeof()与strlen()复习总结(大量例题)
strlen()用于求字符串的长度,针对的对象是字符串,不包括结束符‘\0’;sizeof()用于求所占空间大小,针对的是类型,包括‘\0’;注:首先大家要明确一个概念,strlen()是函数,sizeof()表面看起来是函数,但其本质是关键字。话不多说,直接上题~例:#include<iostream>#include<string.h>...原创 2019-07-17 22:07:34 · 642 阅读 · 0 评论 -
C++知识点复习
类中默认的六个方法:构造函数 拷贝构造函数 析构函数 赋值构造函数 普通对象的取地址函数 常对象的取地址函数代码如下:#include<iostream>using namespace std;class Test{public: Test(int data = 0):m_data(data) //构造函数 { cout << "Cr...原创 2019-07-21 14:50:04 · 167 阅读 · 1 评论 -
多态本质分析
多态:多态本质的分析 多态情形下的虚表的构成C++ 中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试...转载 2019-07-25 16:16:55 · 186 阅读 · 0 评论 -
AVL树
以后在有面试官问你AVL树,你就把这篇文章扔给他。作者:帅地来源 |网络整理,版权归原作者所有,侵删。背景西天取经的路上,一样上演着编程的乐趣.....1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。3、它的左右子树也分别可以充当为二叉查找树。例如...转载 2019-09-12 21:40:56 · 823 阅读 · 4 评论 -
复杂指针解析
复杂指针解析-----右左法则(用于理解复杂指针的声明)右左法则----首先从最里面的圆括号看起,然后往右看,再往左看每当遇到圆括号时,就应该调转阅读方向,一旦解析完圆括号里面的所有内容,就跳出圆括号,重复这个过程,直至整个声明解析完毕。应该从未定义的标识符开始阅读,而不是从括号阅读起,之所以是未定义的标识符,是因为一个声明里面可能有多个标识符,单未定义的标识符只会有一个。先热热身~...原创 2019-07-18 09:30:25 · 441 阅读 · 0 评论 -
sizeof总结(字节对齐)
字节 char short float int long *(地址) double 32位 1 2 4 4 4 4 8 64位 1 2 4 4 8 8 ...转载 2019-07-15 21:53:23 · 1190 阅读 · 0 评论 -
冒泡排序及其优化
我偶然看了一篇写的比较好冒泡排序优化的博客,自己整理了一下,分享给大家,一起学习。若有错误,欢迎大家指正~参考:https://blog.csdn.net/hansionz/article/details/80822494#commentBox冒泡排序(BubbleSort)一般冒泡排序写法#include<iostream>using namespace std;voi...转载 2019-06-22 19:26:09 · 336 阅读 · 0 评论 -
条款一之视C++为一个语言联邦
为了理解C++,我们必须认识其主要的次语言。总共有四个:①C。C++以C为基础,语句、预处理器、数组、指针等都来自于C。许多时候C++对问题的解法其实不过就是较高级的C解法。②面向对象C++。这一部分是面向对象设计之古典守则在C++上的最直接实施。这部分也是C中类所诉求的:类(包括构造函数和析构函数)、封装、继承、多态、virtual函数(动态绑定)等。③Template C...原创 2019-07-14 21:42:21 · 123 阅读 · 0 评论 -
条款二之尽量以const、enum、inline、替换#define
#define不被视为语言的一部分,这正是问题所在。例如:#define ASPECT_RATIO 1.653记号名称也许从未被编译器看见,也许在编译器开始处理源码之前它就被预处理器移走了。因此,它可能没被记入记号表内。解决方法:用一个常量替换上面的宏(#define)const double AspectRatio = 1.63;作为一个常量,肯定会被编译器看到,...原创 2019-07-14 22:12:41 · 130 阅读 · 0 评论 -
STL基础篇学习笔记
1. STL 是什么作为一个C++ 程序设计者,STL 是一种不可忽视的技术。Standard Template Library (STL) :标准模板库, 更准确的说是 C++ 程序设计语言标准模板库。STL 是所有C++ 编译器和所有操作系统平台都支持的一种库,说它是一种库是因为,虽然STL 是一种标准,也就是说对所有的编译器来说,提供给C++ 程序设计者的接口都是一样的。...转载 2019-07-15 10:10:45 · 207 阅读 · 0 评论 -
C/C++ 动态内存分配
首先我们看看 c 语言是如何进行动态内存分配的;c 语言主要是使用malloc / calloc / realloc 来进行内存申请的。malloc / realloc / calloc三者的共同点与不同点:共同点1、都是从堆上进行动态内存分配2、释放内存都是需要使用free函数来释放3、三者的返回值都是void*4、都需要强制类型转换5、都需要对申请出的空间判空(因为申请内存失败...转载 2019-06-30 18:03:06 · 21776 阅读 · 2 评论 -
C/C++动态内存管理
转自:https://blog.csdn.net/ling_hun_pang_zi/article/details/81746543C/C++动态内存管理内存分配的方式有3种:1、从静态存储区域分配内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如:全局变量、static变量。2、在栈上分配在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这...转载 2019-06-30 17:53:09 · 175 阅读 · 0 评论 -
运算符分类
1.算术运算符 用于各类数值运算。包括加(+)、减(-)、乘()、除(/)、求余(或称模运算,%)、自增(++)、自减(–)共七种。2.关系运算符 用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。3.逻辑运算符 用于逻辑运算。包括与(&&)、或(||)、非(!)三种。4.位操作运算符 参...转载 2019-06-30 21:55:14 · 5284 阅读 · 1 评论 -
常量和变量的区别
(1)常量的值不能修改,而变量可以通过赋值来改变值。(2)常量在定义时必须初始化,变量可以暂不初始化。(3)常量不可以寻址,其地址不允许赋给非常量指针,因此只能作为左值;而变量可以寻址,其既可以作为左值,也可以作为右值。(4)常量编译时,可以以立即数形式编译进指令,比起使用内存的变量执行效率更高。...原创 2019-06-30 22:12:59 · 1327 阅读 · 0 评论 -
C++中有哪些常量?
按数据类型分为:整型常量、浮点型常量、字符型常量、字符串型常量、转义字符型常量、地址常量。原创 2019-06-30 22:16:45 · 1443 阅读 · 0 评论 -
简历知识点
智能指针C++11常用特性的使用经验总结面试题23. 链表中环的入口结点面试题24. 反转链表面试题9. 用两个栈实现队列题目二:用两个队列实现一个栈面试题7. 重建二叉树BST树(二叉搜索树)特点:AVL树特点:具有二叉查找树的全部特性...原创 2019-09-20 09:53:30 · 412 阅读 · 1 评论