- 博客(15)
- 收藏
- 关注
原创 set和unordered_set区别以及适用情况
何时使用set:我们需要有序的数据。我们将不得不打印/访问数据(按排序顺序)。我们需要元素的前任/后继。由于set是有序的,因此我们可以在set元素上使用binary_search(),lower_bound()和upper_bound()之类的函数。这些函数不能在unordered_set()上使用。在以下情况下使用unordered_set我们需要保留一组不同的元素,并且不...
2019-11-06 17:50:01 5946
原创 C++中string::find()函数和string::npos函数的使用
string::find()函数:是一个字符或字符串查找函数,该函数有唯一的返回类型,即string::size_type,即一个无符号整形类型,可能是整数也可能是长整数。如果查找成功,返回按照查找规则找到的第一个字符或者子串的位置;如果查找失败,返回string::npos,即-1(当然打印出的结果不是-1,而是一个很大的数值,那是因为它是无符号的)string::npos静态成员常量:是对类...
2019-11-02 17:45:51 906
原创 Linux线程模型
这个问题是我在一个群里看到别人提的问题,然后产生的疑问?故此在这里整理一些关于线程模型的知识请教一下,用户线程如果阻塞了,同进程的其他线程会阻塞么? 向勇老师的课件是写会的,但课程网站有道习题答案是说不会,是答案错了是么?然后课程的老师回答是,答案错误,但我想到了在网络编程中经常会有的一个模型,那就是主线程调用epoll阻塞监听事件,工作线程负责处理业务逻辑,这样子,各种线程之间并不干扰啊,所...
2019-10-27 13:25:15 1008
原创 调试tinyhttpd以及出现问题分析
大家可以在这个地址下载tinyhttpd的源码http协议一个http报文由请求行、请求头部、空行、请求正文四部分组成这里我截取了用wireshark抓包,以上http报文,我们对照着前面的图片,很容易可以看出请求行为:GET / HTTP/1.1请求行由请求方法、URL字段和http协议版本字段组成,它们之间用空格隔开。请求头部由key/value键值对组成,每行一对,key和val...
2019-10-23 10:07:47 870 4
原创 地址族和数据序列
网络字节序与地址变换字节序转换;unsigned short htons(unsigned short);unsigned short ntohs(unsigned short);unsigned short htons(unsigned long);unsigned short ntohs(unsigned long);网络地址的初始化与分配#include <s...
2019-09-04 15:10:59 181
原创 deepin安装vimplus
首先检查你的vim是否支持python和python3,因为YCM的安装必须要vim支持python,vimplus可以帮你下载安装很多插件,但是如果你的vim不支持python,完成之后还是无法使用代码补全vim --version | grep python不用grep命令过滤,搜索的东西太多这两个前面有‘+’,则支持,如果没有,则需要卸载vim然后源码安装sudo apt ...
2019-01-25 11:17:55 1210 1
原创 C++的const关于常量用法细节总结
参考了这篇博客:https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777416.htmlC中的constC语言中的const只是让变量变为只读属性,其本质还是变量,不是真正意义上的常量(只有enum枚举定义的才是常量).注意:const变量不能被直接赋值,但是可以通过指针来修改const变量.由于const局部变量会存...
2019-01-15 21:26:42 711
原创 LAMP 环境搭建(还有apache不能解析php问题)
Ubuntu下面的LAMP环境搭建:先说一下Ubuntu下面一些文件的目录:Debian, Ubuntu (Apache httpd 2.x):ServerRoot :: /etc/apache2DocumentRoot :: /var/wwwApache Config Files :: /etc...
2018-12-12 13:06:32 855
翻译 PHONY的用法以及意义
拾遗是自己平时查阅另一个资料,然后引申出来的知识了解,答应自己,写完这个赶紧去睡觉咯,明早还有大物课PHONY的用法以及意义:以下内容来自于stackoverflow上面的一个问题的翻译以及对一些博客的总结和自己的一些理解https://stackoverflow.com/questions/2145590/what-is-the-purpose-of-phony-in-a-mak...
2018-12-05 00:14:36 5087
原创 Linux gcc学习
hello.c到可执行文件a.out的过程,第一步gcc -E hello.c -o hello.i,这一步是预处理器:cpp,它的作用就在于把头文件展开,把你定义的宏替换掉,注释去掉第二步gcc -S hello.i -o hello.s,这一步是编译器:gcc,把你的C语言文件变成汇编文件第三步gcc -c hello.s -o hello.o,这一步是汇编器:as,把汇编文件变...
2018-11-30 22:29:15 392
转载 转载:什么是 .bashrc,为什么要编辑 .bashrc? linux学习之路 1
如果你运行一个基于 Unix 或者类 Unix 的操作系统,bash 很有可能是作为默认终端被安装的。虽然存在很多不同的 shell,bash 却是最常见或许也是最主流的。如果你不明白那意味着什么,bash 是一个能解释你输入进终端程序的东西,并且基于你的输入来运行命令。它在一定程度上支持使用脚本来定制功能,这时候就要用到 .bashrc 了。为了加载你的配置,bash 在每次启动时都会加载 ...
2018-11-21 15:09:34 2999
原创 对于野指针,空指针,悬空指针的思考
野指针指的是还没有初始化的指针。严格地说,编程语言中每个指针在初始化前都是野指针。一般于未初始化时便使用指针就会产生问题。大多数的编译器都能检测到这一问题并警告用户。int f(int i){ char* cp; //cp is a wild pointer static char* scp; //scp is not a wild pointer: stati...
2018-11-19 21:30:04 2025
原创 scanf函数的一个坑
#include <stdio.h>#include <stdlib.h>int main(){ int i; while((scanf("%d", &x)!=1)) { printf("please input an integer"); } return 0;}/*如果你输入一个q,这个程序将进入...
2018-11-03 21:06:31 253
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人