![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
面经
小虾米 ~
这个作者很懒,什么都没留下…
展开
-
[C/C++] 关键字static的用法总结
关键字static主要有三个作用:(1)静态局部变量(2)静态外部变量(3)静态函数(内部函数)(4)类中的静态数据成员/静态成员函数前两种C和C++都有,第三种仅在C++中有一、静态局部变量如果希望函数中的局部变量的值在函数调用结束后不消失而保留其值,即其占用的存储单元不释放,在下一次该函数调用时,该变量保留上一次函数调用结束时的值,这时就应该指定该局部变量为静态局部...原创 2019-07-08 10:23:19 · 279 阅读 · 0 评论 -
面向对象的五大原则
(1)单一职责原则(Single-Resposibility Principle):一个类,最好只做一件事,只有一个引起它的变化。单一职责原则可以看做是低耦合、高内聚在面向对象原则上的引申,将职责定义为引起变化的原因,以提高内聚性来减少引起变化的原因。(2)开放封闭原则(Open-Closed principle):软件实体应该是可扩展的,而不可修改的。也就是,对扩展开放,对修改封闭的。(3)...原创 2019-08-01 16:57:46 · 216 阅读 · 0 评论 -
红包随机分配算法
#include<iostream>#include<vector>#include<ctime>using namespace std;void lucky(vector<int> &luckymoney,int M,int N){ srand((unsigned int)time(NULL)); //以当前系统时间为种子,...原创 2019-07-21 22:57:57 · 582 阅读 · 2 评论 -
模拟扑克牌洗牌
没有考虑大小王,用一个二维数组表示一副扑克牌,每行代表一个花色#include<iostream>#include<set>using namespace std;void playingCard(int data[][13],int row,int col ){ for(int i=0;i<row;i++) { set<int>...原创 2019-07-21 21:37:42 · 270 阅读 · 0 评论 -
TopK问题
从海量数据中找到 top K个数据分析:数据量很大的情况下,要找到最小/大的K条数据,通常使用堆排序,求最小的K个数,用大顶堆,求最大的K个数,用小顶堆如果数据量很大, 不能一次读入内存,可对原始数据进行分组,获得每组数据的 top K,然后合并筛选后的数据,再找 topK寻找最小的K个元素的算法:void HeapAdjust(int* a,int s,int len){...原创 2019-07-11 20:01:52 · 121 阅读 · 0 评论 -
C++虚函数
虚函数的使用方法:(1)在基类中用virtual声明成员函数为虚函数,在类外定义虚函数时,不必加virtual(2)在派生类中重新定义此函数,函数名、函数类型、参数个数和参数类型必须和基类的虚函数相同,根据派生类的需要重新定义函数体(3)定义一个指向基类对象的指针变量,并使它指向同一类族中需要调用该函数的对象(4)通过该指针调用虚函数,此时调用的就是指针变量指向的对象的同名函数...原创 2019-07-09 16:42:08 · 280 阅读 · 0 评论 -
const关键字和define宏定义
一、const关键字const关键字保护修饰的对象不被修改,作为常量来使用,只读const可以修饰变量、引用、指针、对象、成员等常变量:const 类型说明符 变量名 常引用:const 类型说明符 & 引用名 常指针: 类型说明符 * const 指针名 指向常量的指针 :con...原创 2019-07-09 15:46:32 · 280 阅读 · 0 评论 -
C++ 静态成员函数和非静态成员函数的区别
数据成员:静态数据成员是类的一部分,为类的所有实例共享(静态区);非静态数据成员,类的每个实例都有一份拷贝(动态区)。静态数据成员的访问:静态数据成员是类的一部分,在产生任何实例之前已经存在。函数成员(都在代码区):静态函数成员与非静态函数成员都为类所有,对象中并不存在函数的拷贝(每个对象所占用的存储空间只是该对象的数据成员所占用的存储空间,但是在逻辑上函数和数据是一起被封装进...原创 2019-07-08 10:36:53 · 11108 阅读 · 0 评论