![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
C++分类
小纯洁爱编码
这个作者很懒,什么都没留下…
展开
-
android11使用google test
android google test原创 2022-06-24 15:04:09 · 1226 阅读 · 0 评论 -
【C++】对vector的push_back的简单理解
对vector的一些加深理解原创 2022-06-17 14:40:39 · 1614 阅读 · 0 评论 -
C++三五法则
1.如果定义了析构函数,则必须同时定义或者删除拷贝构造和拷贝赋值。2.如果定义了拷贝构造函数,那么必须定义或者删除拷贝赋值函数,否则会造成低效。3.如果定义了移动构造函数,那么必须定义或者删除移动赋值函数,会出错,删除可导致低效。4.如果定义了拷贝构造或者拷贝赋值,那么必须最好同时定义移动构造或者移动赋值,否则低效。...原创 2022-05-04 16:08:20 · 1183 阅读 · 0 评论 -
vim的全面教程
http://stevelosh.com/blog/2010/09/coming-home-to-vim/原创 2022-05-03 16:53:50 · 154 阅读 · 0 评论 -
64位平台C/C++开发注意事项
64位平台C/C++开发注意事项原创 2022-05-03 16:53:14 · 926 阅读 · 0 评论 -
64位平台C/C++开发注意事项
64位平台C/C++开发注意事项原创 2022-05-03 16:51:37 · 379 阅读 · 0 评论 -
C语言字符串操作总结大全(超详细)
本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下1)字符串操作strcpy(p, p1) 复制字符串strncpy(p, p1, n) 复制指定长度字符串strcat(p, p1) 附加字符串strncat(p, p1, n) 附加指定长度字符串strlen§ 取字符串长度strcmp(p, p1) 比较字符串strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串strchr(p, c) 在字符串中查找指定字符strrchr(p转载 2021-11-02 12:03:36 · 6405 阅读 · 2 评论 -
lex yacc学习
lex yacc学习转载 2021-07-22 16:15:07 · 70 阅读 · 0 评论 -
常用变量名命名单词
书到用时方恨少,每逢命名就挠头。不求多么花里胡哨,只求熟能生巧。1. 动词 bind 绑定 resolve 解析,处理 parse 解析 handle 处理 process 处理 display 展示 merge 合并 call 调用 run 调用 refresh 刷新 load 载入,加载,装载 init 初始化 obtain 获取 access 访问,触及 control 控制 r原创 2021-07-08 15:33:25 · 944 阅读 · 0 评论 -
C语言开源项目推荐
WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/webbench.htmlTinyhttpdtinyhttpd是一个超轻量型Http Server,使用C语言开发...原创 2021-06-30 11:09:13 · 682 阅读 · 0 评论 -
C++海量数据处理
问题实例:给你A,B两个文件,各存放50亿条URL,每条URL占用64字节,内存限制是4G,让你找出A,B文件共同的URL。如果是三个乃至n个文件呢?根据这个问题我们来计算下内存的占用,4G=2^32大概是40亿*8大概是340亿,n=50亿,如果按出错率0.01算需要的大概是650亿个bit。现在可用的是340亿,相差并不多,这样可能会使出错率上升些。另外如果这些urlip是一一对应的,就可以转换成ip,则大大简单了。问题实例:1).海量日志数据,提取出某日访问百度次数最多的那个IP。IP的数目还原创 2021-06-30 10:56:49 · 495 阅读 · 0 评论 -
x86系列CPU里的主要寄存器
寄存器名功能eax(累加寄存器)存储执行运算的数据和运算后的数据ebx(基址寄存器)存储数据内存的起始地址ecx(计数寄存器)计算循环次数edx(数据计数器)存储数据esi(源基址寄存器)存储数据发送源的内存地址edi(目标基址寄存器)存储数据发送目标的内存地址ebp(扩展基址指针寄存器)存储数据存储领域基点的内存地址esp(扩展栈指针寄存器)存储栈中最高位数据的内存地址...原创 2021-06-02 10:14:37 · 394 阅读 · 0 评论 -
编译和解释的区别(划个重点啊)
编译和解释的区别转载 2021-06-02 09:46:36 · 95 阅读 · 0 评论 -
程序运行的总结
我们学习语言,第一步无非是想让程序跑起来,如果能深入形象化的理解程序这个过程,后面设计框架、优化将起到事半功倍的效果。 假设我们自己就是一个计算机,我们如何认识程序?抱歉,我不认识程序,C语言、JAVA、C++、PYTHON??过于复杂了。。我只认识我自己的母语也就是native,这里的母语也就是机器语言。这时候编译器就起了一个重要的作用,把各种语言写的源代码转为了obj(目标文件) 这时候,计算机就认识了。 到这一步,计算机是认识了,但是并不可执行,这时候链接器就随之出现了,它将多个目标...原创 2021-06-01 15:26:27 · 188 阅读 · 0 评论 -
深入理解select、poll和epoll及区别
问题:如果我们先前创建的几个进程承载不了目前快速发展的业务的话,是不是还得增加进程数?我们都知道系统创建进程是需要消耗大量资源的,所以这样就会导致系统资源不足的情况。那么有没有一种方式可以让一个进程同时为多个客户端端提供服务?接下来要讲的IO复用技术就是对于上述问题的最好解答。对于IO复用,我们可以通过一个例子来很好的理解它。(例子来自于《TCP/IP网络编程》)某教室有10名学生和1名老师,这些学生上课会不停的提问,所以一个老师处理不了这么多的问题。那么学校为每个学生都配一名老师,也就是这个教室转载 2021-06-01 10:28:29 · 192 阅读 · 0 评论 -
gcc编译选项
GCC编译器常用选项-E:只进行预处理,不编译-S:只编译,不汇编-c:只编译、汇编,不链接-g:包含调试信息-I:指定include包含文件的搜索目录-o:输出成指定文件名高级选项-v:详细输出编译过程中所采用的每一个选项-C:预处理时保留注释信息-ggdb:在可执行文件中包含可供GDB使用的调试信息-fverbose-asm:在编译成汇编语言时,把C变量的名称作为汇编语言中的注释-save-temps:自动输出预处理文件、汇编文件、对象文件,编译正常进行-fsyntax-o转载 2021-06-01 10:23:26 · 594 阅读 · 0 评论 -
C++完美转发std::forward()
std::forward()1.完美转发完美转发实现了参数在传递过程中保持其值属性的功能,即若是左值,则传递之后仍然是左值,若是右值,则传递之后仍然是右值。C++11 lets us perform perfect forwarding, which means that we can forward the parameters passed to a function template to another function call inside it without losing their转载 2021-04-30 15:28:50 · 160 阅读 · 1 评论 -
C++引用折叠
引用折叠:创建引用的引用时(如模板参数、类型别名)会造成引用折叠。在所有情况下(除了一个例外),引用折叠成一个普通的左值引用类型。一种特殊情况下,引用会折叠成右值引用,即右值引用的右值引用, T&& &&。折叠规则如下:1.&+& -> &&&+&->&&+&&->&2.&&+&& -> &&3.左原创 2021-04-30 15:12:31 · 854 阅读 · 1 评论 -
【音视频】调试组播之环境搭建
废话不多讲,直接上干货。调试组播rtp:协议头,windows本地环境搭建有两个方案:1.ffmpeg推送rtp流(1)安装ffmpeg下载地址:https://ffmpeg.org/下载windows builds到本地,修改环境变量指向*/ffmpeg/bin,打开cmd,输出“ffmpeg -version”,查看fffmpeg是否安装成功。ffmpeg version N-100976-g5c8d4c4fac Copyright © 2000-2021 the FFmpegdevel原创 2021-02-06 14:51:46 · 729 阅读 · 0 评论 -
C++中四种cast相互转换
C++中四种类型转换是:static_cast, dynamic_cast, const_cast, reinterpret_cast1、const_cast用于将const变量转为非const2、static_cast用于各种隐式转换,比如非const转const,void*转指针等, static_cast能用于多态向上转化,如果向下转能成功但是不安全,结果未知;3、dynamic_cast用于动态类型转换。只能用于含有虚函数的类,用于类层次间的向上和向下转化。只能转指针或引用。向下转化时,原创 2020-08-21 10:09:31 · 644 阅读 · 0 评论 -
C++关键字汇总并举例
asm用于在C++源码中内嵌汇编语言。 __asm mov al, 2 __asm mov dx, 0xD007 __asm out al, dxdo配合while使用 do { ... }while(1)if判断 if(){ ... }else{ ... }return返回 return 1;try异常处理,激活异常 try { ... }catch(异常){ ... }auto.原创 2020-06-19 17:13:40 · 662 阅读 · 0 评论 -
C++ const修饰函数的用法
1.const在函数前,修饰的是函数的返回值不可改变。2.const在函数后,它表示类的常成员函数,该函数不能修改对象内的任何成员,只能发生读操作,不能发生写操作。原创 2020-06-19 10:50:56 · 386 阅读 · 0 评论 -
ubuntu动态配置gcc版本
下载多个gcc版本后,动态切换版本号,如下以gcc4.4和gcc5为例。1. 由于需要的版本为低版本,所以我将低版本的优先级设的较高,后面的‘20’和‘10’代表优先级,他们只有相对大小,没有绝对的规定sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 20sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 202.切换gcc原创 2020-06-19 11:05:10 · 193 阅读 · 0 评论