
C++
文章平均质量分 91
mario_z
用科技改变生活,用科技创造生活。我现在为此奋斗不息,以后也必将为此奋斗不息~
展开
-
C++开源项目
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/~cz210552/webbench.html- 2. Tinyhttpdtinyhttpd是一个超轻量型Htt原创 2021-01-22 19:51:12 · 673 阅读 · 0 评论 -
C++11的新特性
1. nullptrnullptr 出现的目的是为了替代 NULL。在某种意义上来说,传统 C++ 会把 NULL、0 视为同一种东西,这取决于编译器如何定义 NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义为 0。C++ 不允许直接将 void * 隐式转换到其他类型,但如果 NULL 被定义为 ((void*)0),那么当编译char *ch ...转载 2019-07-10 10:15:36 · 285 阅读 · 0 评论 -
C++前置声明
写代码的时候,代码规范通常会要求头文件尽量使用声明,规范如:为什么要使用前置声明,而不直接使用头文件呢? 难道头文件中使用声明能够是编译的速度加快? 但是编译器在预处理的时候也会将头文件加载到cc文件里面,那这样声明就起不到作用了。其实原因很简单。就是为了方便a.h 和 b.h能够相互调用。a.h 中只加b类的声明。 a.cc 中添加b.h的头文件。同时b.h若想调用a类的时候直...原创 2019-03-28 10:05:07 · 244 阅读 · 0 评论 -
C++常用的设计模式(超级简洁,清晰)
1、工厂模式:简单工厂模式、工厂方法模式、抽象工厂模式 1)、简单工厂模式:主要特点是需要在工厂类中做判断,从而创造相应的产品,当增加新产品时,需要修改工厂类。typedef enum{ T80 = 1, T99}TankType;class Tank {public: virtual void message() = 0;}...转载 2019-03-26 10:18:46 · 1167 阅读 · 0 评论 -
从零实现一个http服务器
我始终觉得,天生的出身很重要,但后天的努力更加重要,所以如今的很多“科班”往往不如后天努力的“非科班”。所以,我们需要重新给“专业”和“专家”下一个定义:所谓专业,就是别人搞你不搞,这就是你的“专业”;你和别人同时搞,你比别人搞的好,就是“专家”。说到http协议和http请求,很多人都知道,但是他们真的“知道”吗?我面试过很多求职者,一说到http协议,他们能滔滔不绝,然后我问他http协议的...转载 2018-12-16 23:14:59 · 757 阅读 · 0 评论 -
C++写的12306抢票软件
写在前面的话每年逢年过节,一票难求读者肯定不陌生。这篇文章,我们带领读者从零实现一款12306刷票软件,其核心原理还是通过发送http请求模拟登录12306网站的购票的过程,最后买到票。郑重申明一下:这里介绍的技术仅供用于学习,不可用于恶意攻击12306服务器,请勿滥用本文介绍的技术。对12306服务器造成的任何损失,后果自负。当然,由于12306服务器用户量巨大,为了防止黄牛和其他一些非法...转载 2018-12-16 22:57:18 · 11451 阅读 · 6 评论 -
二叉树基本知识总结
一、树的定义树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。 树具有的特点有:(1)每个结点有零个或多个子结点(2)没有父节点的结点称为根节点(3)每一个非根结点有且只有一个父节点(4)除了根结点外,每个子结点可以分为多个不相交的子树。 树的基本术语有:若一个结点有子树,那么该结点称为子树根的“双亲”,子树的根称...转载 2018-08-08 22:13:07 · 396 阅读 · 0 评论 -
STL的学习
序 STL 是 Standard Template Library(标准模板库)的缩写。Standard 是指STL是C++标准程序库的一部分,Template是指STL是一套模板,这也是STL最本质的特征。标准模板库使得C++编程语言在有了同Java一样强大的类库的同时,保有了更大的可扩展性。 2. STL六大组件 2.1空间配置器(Memory Allocation)...转载 2018-08-11 13:35:27 · 315 阅读 · 0 评论 -
C++ 面试知识点总结
1. C++基础知识点1.1 有符号类型和无符号类型当我们赋给无符号类型一个超出它表示范围的值时,结果是初始值对无符号类型表示数值总数取模之后的余数。当我们赋给带符号类型一个超出它表示范围的值时,结果是未定义的;此时,程序可能继续工作、可能崩溃。也可能生成垃圾数据。 如果表达式中既有带符号类型由于无符号类型那个,当带符号类型取值为负时会出现异常结果,这是因为带符号数会自动转换成无符号数。...转载 2018-08-02 13:21:37 · 914 阅读 · 0 评论 -
C++单例模式的实现
都是从网上学得,整理下自己的理解。 单例模式有两种实现模式:1)懒汉模式: 就是说当你第一次使用时才创建一个唯一的实例对象,从而实现延迟加载的效果。2)饿汉模式: 就是说不管你将来用不用,程序启动时就创建一个唯一的实例对象。 所以,从实现手法上看, 懒汉模式是在第一次使用单例对象时才完成初始化工作。因为此时可能存在多线程竞态环境,如不加锁限制会导致重复构造或构造不完全问...转载 2018-08-10 21:52:18 · 5754 阅读 · 0 评论