C++笔记
文章平均质量分 57
gaokan3233
这个作者很懒,什么都没留下…
展开
-
C++ 随笔
1、开发框架:应用框架指的是实现了某应用领域通用完备功能(除去特殊应用的部分)的底层服务。 使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。2、断言(assert):其实就相当于一个if语句,但频繁的调用会极大的影响程序的性能,增加额外的开销。示例代码: #include "assert.h" void原创 2017-06-22 19:46:18 · 165 阅读 · 0 评论 -
Hadoop、Spark、Yarn
1、Hadoop是由分布式文件系统HDFS和分布式计算框架MapReduce组成的分布式系统基础架构,HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。 处理流程:由编程模型和运行时环境两部分组成,基本编程模型是将问题抽象成Map和educe两个阶段,其中Map阶段将输入数据解析成key/value,迭代调用map()函数处理后,再以key/value的形式输出到本地目录原创 2017-08-20 20:34:02 · 446 阅读 · 0 评论 -
经典动态规划的迭代条件
1、硬币找零:2、经典的LIS(即最长上升子序列)问题:3、字符串最长公共子序列原创 2017-08-13 22:16:46 · 499 阅读 · 0 评论 -
大数据面试算法[牛客笔记]
1、bitmap 10亿个IP地址的排序: 10亿个IP,2^32存储足够,新建2^32的bit型数组(512M),每一位可以为0或1,遍历10亿IP并将相应的位置置1,最后输出。 2、hashmap 10亿人年龄的排序: 建立一个1-200的无符号型整数的数组,4字节足够存储10亿,整个数组足以存放所有的年龄。 **区别:原创 2017-08-12 17:33:09 · 730 阅读 · 0 评论 -
vsprintf函数和va_list用法
头文件:1、可变参数列表的函数的编写列: void mytest(int a, ...){ int b; va_list ap; va_start(ap, a); b = va_arg(ap, int); va_end(ap); printf("%d, %d", a, b);翻译 2017-06-15 11:12:53 · 523 阅读 · 0 评论 -
牛客C++专项试题笔记——0614
牛客,C++专项试题笔记原创 2017-06-14 09:43:46 · 373 阅读 · 0 评论 -
VS2010创建项目后各文件后缀名的意义
VS2010创建项目时,首先创建解决方案文件夹,如果不修改的话解决方案文件夹具有与项目文件夹相同的名称,其中包含了项目文件夹、定义解决方案内容的文件以及ipch文件夹。(1)定义解决方案内容的文件扩展名为.sln的文件,记录着关于解决方案中项目的信息;扩展名为.suo的文件,其中记录着应用于该解决方案的用户选项;扩展名为.sdf的文件,记录着与解决方案的Intellisense有关的数翻译 2017-06-14 21:22:42 · 7017 阅读 · 0 评论 -
计算机网络基础
有了数据包的定义、网卡的 MAC 地址、广播的发送方式,”链接层”就可以在子网络内的多台计算机之间传送数据了。但是,如果两台计算机不在同一个子网络,广播是传不过去的。这就导致了”网络层”的诞生。它的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做”网络地址”,简称”网址”。因此,每台计算机有了两种地址,一种是 MAC 地址,另一种是网络地址。网络地址帮助我转载 2017-06-26 11:35:44 · 187 阅读 · 0 评论 -
C++随笔
用户态和内核态: 用户态是3级特权(最低特权),内核态是0级特权(最高特权),以下三种情况会从用户态切换到内核态: 1、系统调用。是用户态主动要求切换到内核的一种方式,比如fork()是通过中断来实现的。 2、异常。 3、外围设备中断。用户栈和内核栈: 内核栈是操作系统空间的一块区域,用于保存操作系统子进程间的调用,保护中断现场;用户栈是用户空间的一块区域,用于保存用户进程的相互调用。转载 2017-06-26 10:31:21 · 214 阅读 · 0 评论 -
牛客C++专项试题笔记
this指针: 对于类成员函数而言,并不是一个对象对应一个单独的成员函数体,而是此类的所有对象共用这个成员函数体。 当程序被编译之后,此成员函数地址即已确定。而成员函数之所以能把属于此类的各个对象的数据区别开,就是靠这个this指针。函数体内所有对类数据成员的访问,都会被转化为this->数据成员的方式。底层实现:非静态函数调用之前都会把指向对象的指针(也就是this指针)放到ecx原创 2017-06-13 16:37:44 · 250 阅读 · 0 评论 -
epoll和select的区别
首先得了解epoll的三大关键要素:mmap、红黑树、链表。 1、mmap将用户空间的一块地址和内核空间的一块地址同时映射到相同的一块物理内存地址(不管是用户空间还是内核空间都是虚拟地址,最终要通过地址映射映射到物理地址),使得这块物理内存对内核和对用户均可见,减少用户态和内核态之间的数据交换。 2、epoll在实现上采用红黑树去存储所有套接字,当添加或者删除一个套接字时(epoll_ctl),转载 2017-08-14 16:39:07 · 1545 阅读 · 0 评论