![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 74
angry_youth
一名正在努力学习计算机类科学的小白,目前本职工作是一名unity3D游戏前端开发工程师,在技术的道路上,我会一直坚守本心,不断学习专研领域知识,向着自己所期待的方向勇往直前,做出更多更好玩的游戏!
展开
-
C++知识进阶之初始化
在使用任意对象之前,我们都需要保证其已经被初始化,否则也许会发生不可预见性错误,比如,我们在比较一个变量的时候,它只是被声明出来但是没有被初始化,那么就会发生报错。C++内置类型以外的其他任意自定义对象,初始化的重任就落在构造函数的身上,所以构造函数里面需要对,对象的每一个成员变量初始化,但是要严格区分初始化和赋值的区别。这里介绍一个我们理想认为的初始化的构造函数,但实际却不是初始化,是赋值!!!这里的构造函数函数,调用过程是,首先调用了默认的构造函数,为每一个成员变量设置了初始值,然后再给这些成员变量原创 2021-03-16 20:55:45 · 149 阅读 · 0 评论 -
C++之inline,friend,仿函数总结
inline 函数 意义:将一些简单,代码量少,调用频繁的函数设置为inline函数会更高效 这里有篇文章可以了解下,文章链接1.inline和函数定义放在一起才有意义,和声明放在一起无意义;2.inline函数最好放在头文件中定义3.inline函数应该要简单常用,不要出现循环递归等情况;4.函数设置为inline函数,避免频繁调用该函数,造成重复开辟桟内存所带来的消耗5.构造和析构函数可以设置成inline函数,但是要慎用,最好不用,如果构造和析构函数内部做一些隐藏行为会带来更大的消耗,原创 2021-03-16 21:00:46 · 402 阅读 · 0 评论 -
栈的分析和详解
栈原创 2020-05-13 01:21:14 · 710 阅读 · 0 评论 -
面试题(二)
注:不喜勿喷//21.合并两个排序的链表//输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增的,例如,链表1和//链表2,则合并之后的升序链表如链表3所示,节点定义如下:struct ListNode{ int _value; ListNode* _next;};ListNode* merge(ListNode* phead1,ListNode* phea原创 2017-09-07 11:37:07 · 267 阅读 · 0 评论 -
图--最小生成树之解
**Graph:** (应用:地图,社交关系等) 图是一种非线性结构,由顶点集合以及顶点间的关系集合组成的一种数据结构; 1) 完全图:如果一个N个顶点组成的无向图中有N*(N-1)/2条边,则为无向完全图(即任意两个顶点间都有边相连) 2) 权重:边具有与之相关的数值,则称为权重; 3) 临接顶点:if(u,v)是图中的一条边,则u和v互为临接顶点; 4) 度:与顶点相关联的边原创 2017-08-13 18:34:10 · 350 阅读 · 0 评论 -
排序算法汇总
排序:以下排序都是按从小到大的顺序编写的;1)直接插入排序: 时间复杂度O(n*n)//从小到大//直接插入排序:取出一个比,比完再插入void InsertSort(int* arr, size_t n){ assert(arr); for(size_t i = 0 ; i < n-1; i++) { int temp = arr[i+1];原创 2017-08-13 00:43:12 · 346 阅读 · 0 评论 -
磁盘查找树------B,B+,B*树集合
**B-树:**常用于文件系统,数据库 外查找,是一种平衡的多叉树;(或者是空树) 性质: ① 根节点至少有两个孩子; ② 每个非根节点有[M/2,M]个孩子; ③ 每个非根节点有[M/2-1,M-1]个关键字,并且以升序排列; ④ Key[i]和key[i+1]之间的孩子节点的值介于key[i],key[i+1]之间; ⑤ 所有的叶子节点都在同一层; 图例如下:M = 3插入75时原创 2017-08-10 03:02:30 · 318 阅读 · 0 评论 -
HashTable,位图,BloomFilter分析(简单粗暴)
**HashTable:(散列表/哈希表)** 是根据关键字key而直接访问在内存存储位置的数据结构;它通过一个关键值的函数将所需的数据映射到表中的位置来访问数据,这个映射函数叫做散列函数,存放记录的数组叫做散列表; 构造哈希表的几种方法: 1)直接定址法:取关键字的某个线性函数为散列地址;(但数值之间相差较大,该方法不可用) 2)除留余数法:取关键值被某个不大于散列表长m的数p除后的所得的原创 2017-08-09 00:46:15 · 679 阅读 · 0 评论 -
探索红黑树中的秘密
**红黑树:** 二叉搜索树,它在每个节点中增加了一个颜色位,通过对任何一条从根到叶子节点的简单路径上的颜色来约束,红黑树保证最长路径不超过最短路径的两倍,因而近似于平衡;(不是绝对的平衡)性质: ①每个节点不是红色就是黑色的; ②根节点是黑色的; ③如果一个结点是红色的,则它左右两个子节点是黑色的(没有连续的红色结点); ④对于每个节点,从该节点到其后所有后代结点的简单路径上,均包含相同原创 2017-08-09 00:25:50 · 272 阅读 · 0 评论 -
C++模板(一)
模板的目的:为了实现代码的复用性。 我们可以理解“模板”其实就是一栋建造好但还未装修的楼,装修就是我们需要的类型(int, char, string, float, 自定义类型等),当楼房装修好就可以使用了,装修的过程就是我们说的实例化,这样理解模板会不会感觉好一点了。- 模板函数格式: template <class 形参名1, class 形参名2...> 函数返回类型 函数名原创 2017-04-23 11:18:25 · 253 阅读 · 0 评论 -
c++初级知识简单整理(二)
1.三种访问限定符:public private protected2.一个类中有默认的六种成员函数(之前篇章有提到过,此处不做过多说明),程序员可以根据自身代码需要重定义这六种成员函数;3.内联函数原创 2017-03-26 16:46:39 · 388 阅读 · 0 评论 -
c++简单几种运算符重载
简单介绍几种运算符重载c++的类中有最基本的“六大少”: 构造函数,拷贝构造函数,赋值语句,析构函数,取地址运算符重载和const修饰的取地址运算符重载,接下来进行简要的说明(我们以Test类为主):原创 2017-03-20 18:55:10 · 3417 阅读 · 0 评论 -
c++初级知识之引用和指针和const
知识点回顾引用和指针: 引用:为对象重新起了一个名字,一经定义必须初始化(一旦初始化后其无法再绑定到其他对象上),引用并非对象,无实际地址,无法用指针指向它; 指针:指针本身就是一个对象,可以赋值和拷贝,无需在定义的时候赋初始值,它的指向可以改变; (注:如果函数返回值是一个存在的对象,则返回值可以用“引用”较为高效,其可以少调用一次拷贝构造函数)原创 2017-03-19 14:24:34 · 425 阅读 · 0 评论 -
简述c和c++的基本区别(适合初学者)
简要介绍c和c++的基本区别原创 2017-03-19 11:33:01 · 13450 阅读 · 1 评论