- 博客(19)
- 收藏
- 关注
原创 致敬科比,实现查询科比每赛季数据的Web服务器
前言:我从2007-2008赛季,加索尔来湖人之后,湖人三进总决赛的第一个赛季开始喜欢科比,那时候我五年级,现在十年过去了,我大三了,科比已经退役两年了。 我目前的技能足以支持我实现一个简单的关于科比的Web服务器,这是我两前,2016-4-14日(科比最后一场比赛)结束以后,就想完成的事情。使用技术 网络编程 多线程 cgi机制 shell脚本开发环境 centos 6.5 ...
2018-08-09 16:59:50 3514 1
原创 模拟实现atoi函数
int atoi(const char* ptr) ; 1.跳过前面的空白字符(例如空格,tab缩进)等,可以通过isspace( )函数来检测; 2.遇上数字或正负符号才开始转换,而在遇到非数字或’\0’才结束转换,并将结果返回。 3.如果 ptr不能转换成 int 或者 ptr为空字符串,那么将返回 0。 4.该函数要求被转换的字符串是按十进制数理解的。ok,知道这些了,实现它就不...
2018-08-20 15:46:57 286
原创 简单介绍C++强制类型转换
在介绍C++强制类型转换之前,我们先来看一看C语言风格的强制类型转换,的确,C风格的强制类型转换用起来很方便。 它的格式是: (类型)变量void test_c_cast(){ //隐式类型转换(相近类型) int i = 1; double d = i; //强转 int* p = &i; int address = (in...
2018-08-20 10:31:02 291
原创 探索类型萃取的必要性
首先我们来实现一个能装string的容器,只实现了尾插和打印接口。template <class T>class SeqList{public: SeqList() :_a(NULL), _size(0), _capacity(0) {} void PushBack(const T& x) { if (_...
2018-08-16 16:04:04 291
原创 C++对象模型图示总结
本文的图片全部是由我自己所画,如有错误,感谢大家指出。菱形继承和菱形虚拟继承 有虚函数的类对象 有虚函数的单继承 有虚函数的多继承 有虚函数的菱形继承 有虚函数的菱形虚拟继承 ...
2018-08-16 09:31:43 616
原创 C++:为什么在继承关系中,父类的析构函数最好定义为虚函数?
我们先来看一段简单代码,A类有一个指针成员_pa,B类公有继承了A类,然后自己有一个指针成员_pb:class A{public: A(int x = 1) :_pa(new int(x)) {} ~A() { cout << "~A()" << endl; }protected: i...
2018-08-15 15:14:33 6215 4
原创 C++:重载,重定义,重写的区别
这是比较容易混淆的概念,在此整理,以便理解。一:重载 重载指的是在同一个作用域内,两函数的函数名可以相同,但是参数不能完全相同,可以是参数类型不同或者是参数个数不同,至于返回值,不影响重载。如图,构成了重载: 如何实现重载? C++代码在编译时会根据参数列表对函数进行重命名,例如void Test(int a, int b)会被重命名为_Test_int_int,void Tes...
2018-08-15 14:44:31 20651 8
原创 C++写时拷贝
一:浅拷贝 一个类,如果不写拷贝构造函数,那么它的默认拷贝构造函数为浅拷贝,浅拷贝有什么问题呢? 拿一个简单的String类举例:class String{public: String(char* str = &quot;\0&quot;) :_str(new char[strlen(str)+1]) { strcpy(_str, str); } ...
2018-08-14 19:57:14 1629
原创 模拟实现C++的new/delete
本文只讨论关于自定义类型的new/delete。模拟实现new:template&lt;class T&gt;T* New(size_t n){ //先开辟一段空间,要多开4字节,用来存放开了多少个对象 T* ptr = (T*)operator new(sizeof(T)*n+4); *((int*)ptr) = n; //ptr向后移4字节,开始给...
2018-08-13 15:19:24 291 1
原创 C++中const关键字
一:const修饰指针变量int num = 0;1.const在 * 前面,表示const修饰指针指向的内容const int* p = &num;int const* p = &num;2.const在 * 后面,表示const修饰指针变量int* const p = &num;二:const修饰成员函数 首先来看一下普通成员函数:cla...
2018-08-13 11:20:53 171
原创 C语言static关键字的作用
一:当static修饰函数或者代码块之外的变量时 改变的是函数或全局变量的链接属性,外部链接属性变为内部链接属性,而存储类型和作用域不受影响。 换句话说,被static修饰的函数或全局变量,只能在当前源文件中访问。二:当static修饰代码块内部的局部变量时 在函数中定义局部变量,如果没有被声明为其他类型的变量都是自动变量,自动变量属于动态存储类型,函数调用结束后即被释放。 但有时候需...
2018-08-11 08:38:05 412
原创 宏和函数有什么区别?
define 机制包括了一个规定,允许把参数替换到文本中,这种实现通常称为宏。 宏分为普通宏定义和函数宏定义: 普通宏定义:#define MAX 1024 函数宏定义:#define MIN(a, b) ((a) < (b) ? (a) : (b))宏函数可以完成一些简单的运算,那么宏为什么不能取代函数呢?它们有什么区别?从代码长度来看: 宏每次使用都插入到程序中对应的位置...
2018-08-10 11:27:23 285
原创 一个C语言程序的编译过程
这是一个再简单不过的C语言程序:#include &lt;stdio.h&gt;int main(){ printf("hello world!\n"); return 0;}执行gcc test.c,就使一个源文件变成了可执行文件,这个步骤我们很熟悉,但是从一个源文件(.c文件)到可执行程序到底经历了哪几步,每一步具体做了什么,这是我想要总结一下的:一:...
2018-08-10 11:01:48 2393
原创 如何建立Windows和Linux之间的共享文件夹
以win10和centos为例:第一步,点击虚拟机,设置: 第二步,点击选项: 第三部,点击共享文件夹,点击总是启用,然后点击添加: 第四步,添加共享文件夹: 添加成功之后,在 /mnt/hgfs 目录下,就会有共享文件夹。 ...
2018-08-10 07:20:24 9645 3
原创 总结指针和引用的区别
一:什么是引用 引用就是给一个已经定义的变量起一个别名,并没有定义新的变量; 引用的格式为:类型&amp; 引用变量名 = 已定义过的变量名; int a = 1; int&amp; b = a; cout &lt;&lt; &amp;a &lt;&lt; endl; cout &lt;&lt; &amp;b
2018-08-07 19:23:50 233
原创 详细解读域名解析(DNS)
DNS是一个从域名映射到IP地址的系统。一:DNS的背景 TCP/IP使用IP地址和端口号来瞄准对应网络上一台主机的一个进程,但是IP地址不好记; 于是有了主机名(字符串),并且使用hosts文件来描述主机名和IP地址的关系。 如图: 最初是互联网信息中心来管理这个hosts文件,如果一个计算机想接入网络,或想变更IP,都需要到信息中心申请,其他计算机也要定期更新hosts文件才能...
2018-08-03 16:07:25 3512
原创 总结数据链路层
上一篇文章说到:网络层实现的是直至目的地址(主机A到主机B)的通信,而具体的实现某一个跳转的通信,是由数据链路层实现的,如图: 具体附链接: https://blog.csdn.net/han8040laixin/article/details/81354588数据链路层的作用:用于两个设备(同一种数据链路节点)之间进行传递。一:简单了解以太网 以太网不是一种具体的网络,而是一种...
2018-08-03 14:01:12 587
原创 总结网络层IP协议
本文主要讨论IP协议及相关内容,如有错误,感谢大佬指正!基本概念: 主机:有ip地址但不进行路由控制的设备 路由器:既有ip地址又能进行路由控制 节点:主机和路由器的统称IP协议: 提供了一种能力,将数据报从A主机发送至B主机,但是不一定能发送到,可靠性是由上层的TCP保证的。IP协议格式 4位版本:指定IP协议的版本,ipv4来说,就是4。 4位首部长度:IP头部有多...
2018-08-02 11:56:41 380
原创 什么是子网掩码?怎么根据子网掩码得到网络号?
在学习子网掩码之前,必须搞懂网段划分互联网是由许多小型网络构成的,每个网络上都有许多主机,这样便构成了一个有层次的结构。IP地址分为两部分: 网络号:保证相互连接的两个网段具有不同的标识。 主机号:同一网段内,主机之间虽然具有相同的网络号,但是必须有不同的主机号,这样才能找得到。如图所以,网段不同则必须配置不同的网络号,同一网段内的主机网络号相同但是主机号不同:IP地址为一...
2018-08-01 11:49:41 11568 4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人