【C++项目】实时聊天的在线匹配五子棋对战游戏 用户管理:实现用户注册、用户登录、获取用户信息、用户游戏分数记录、用户比赛场次记录等。匹配对战:实现玩家在浏览器网页端根据玩家的游戏分数进行匹配游戏对手,并进行五子棋游戏对战的功能。实时聊天:实现在游戏房间内对战的两个玩家可以进行实时的聊天功能。落子计时棋局房间内观战人机对战WebSocket是从HTML5开始支持的一种网页端和服务端保持长连接的消息推送机制。
【C++项目】仿muduo库One Thread One Loop式主从Reactor模型实现高并发服务器 本篇博客记录从0到1实现一个仿mudo库的One Thread One Loop式主从Reactor模型的高并发服务器组件。在此之前我们要明确的是,该项目仅作为一个高并发服务器组件,因此该项目并不包含实际的业务需求处理内容。
剖析“类和对象” (下) -------- CPP 学习完“类和对象”(上)【剖析“类和对象” (上) -------- CPP】和(中)【剖析“类和对象” (中) -------- CPP】,相信各位同学对CPP中类与对象的理解或多或少都加深了一点。本篇博客将和大家一同再次学习CPP中类和对象的知识点,跟随本篇博客的脚步定能为你的装备库再增添上不少弹药。
剖析“类和对象” (中) -------- CPP 在上一篇博客中 (剖析“类和对象” (上) -------- CPP) 提到,一个类中什么成员都没有的称为“空类”。一个“空类”中真的什么都没有吗?其实不然,任何类中什么都不写时,编译器会自动生成一下六个默认成员函数。
剖析“类和对象” (上) -------- CPP {... // 类体:由成员函数和成员变量组成};// 一定不要漏掉后面的分号class为定义类的关键字,className为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或类的成员变量;类中的函数称为类的方法或类的成员函数。| 类的两种定义方式 |类的声明与定义分离最大的好处就是增加了代码的可读性。
初步认识“命名空间” -------- CPP 在命名空间中可以定义:① 变量 ② 函数 ③ 类型一般定义:| 例 |{// 定义变量int a = 0;int b = 1;// 定义函数{}// 定义类型{int val;};}嵌套定义:| 例 |{int a;int b;{}// 将命名空间N3嵌套定义在命名空间N2中{int c;int d;{}}}※ 特需注意!同一个工程中允许存在多个相同名称的命名空间,编译器最后会将同名的命名空间中的内容合并到一个命名空间中。
自定义类型:结构体、位段、枚举、联合 ------- C语言 {int x;int y;}p1;//声明结构体类型的同时定义变量p1,此时变量p1为全局变量int main(){//...//在main函数中定义变量p2,此时变量p2为局部变量//...return 0;//定义变量的同时进行初始化,变量s1为全局变量int main(){//...//变量s2为局部变量//...return 0;}{int data;//结构体嵌套初始化,n1为全局变量。
深扒头文件 <string.h> 中的函数 ------- C语言 在日常敲代码的过程中,当我们处理字符串时经常会使用字符串函数,调用字符串函数则需要包含头文件,对于头文件中包含的函数你了解多少呢?本篇博客总结了头文件中一些常用的函数及其使用实例和部分函数的模拟实现,相信跟随本篇博客一起探讨,能让你对头文件中的某些函数有不一样的理解。...
整型数据和浮点型数据在内存中的存储 ------- C语言 在我们日常敲代码的时候免不了使用整型数据及浮点型数据,各位小兄弟是否真的清楚数据在内存中是如何存储的呢?如果对这方面知识不太了解的小兄弟,别着急,跟随本篇博客一起学习C语言中数据在内存中是如何存储的。计算机中的整数有三种 2进制 表示方法,即 原码、反码、补码。三种表示方法均有 符号位 和 数值位 两部分,符号位 都是用 0 表示 “正 ”,用 1 表示 “负”,而数值位 正数 的 原码、反码、补码 三码都相同,而 负数 的三种表示方法各不相同。※ 整数在内存中存放的是其补码的二进制序列为什么在内存中存的是
深入了解表达式求值 ------- C语言 在我们敲代码的过程中常常使用到表达式,例如 3 * 2 + 1 / 6 就是一个简单的表达式,我们经常使用表达式,但我们真的了解表达式吗?为了不然我们与表达式成为“ 最熟悉的陌生人 ”,本片博客将和大家一起探讨表达式求值的一些细节。表达式求值的顺序一部分是由操作符的优先级和结合性决定的,但有些表达式的操作数在求值的过程中可能需要转换为其他类型。※ ( 本篇博客的结尾处附有C语言操作符优先级列表 )一、隐式类型转换1. 概念引入C语言的整型算数运算总是至少以缺省 ( 系.
扫雷游戏【敢看完就敢教会你】------- C语言 一、扫雷游戏介绍《扫雷》是一款大众类的益智小游戏,于1992年发行。游戏目标是在最短的时间内根据点击格子出现的数字找出所有非雷格子,同时避免踩雷,踩到一个雷即全盘皆输。玩家需要在雷区里将所有地雷一一排查......
关于数组名的一些秘密 ------- C语言 数组名实际上表示数组首元素的地址,但这句话其实是不够准确的,本篇博客让我们一起探究关于数组名的秘密。一、一维数组的数组名教材上与网络上的资料都说数组名是首元素地址,到底是不是这么一回事,现在我们一起来一探究竟。| 图例 |由图例可以看出,一维数组的数组名的地址和数组首元素的地址是完全相同的!这确实印证了教材与资料的那句话,但它也不完全对,让我们接着来探讨。二、数组名的秘密如果说 “ 数组名表示首元素地址 ” 这句话完全正确的话,那 int n = sizeof( a.
快速排序算法 ( 挖坑法 ) ------- C语言 快速排序:快速排序,在众多排序算法中有不可或缺的地位。光听名字就知道,快速排序的时间复杂度应该是要优于其他算法的。今天这篇博客将和大家一起学习快速排序算法的其中一种实现方法 >> 挖坑法一、排序原理&逻辑要想拿捏住快速排序算法,就要先将它的排序原理和逻辑给弄清楚。既然是“挖坑法”,就要有坑。那么这个坑是怎么产生的呢,又有怎样的用呢?让我们看下面的图解。| 图解 |我们现在有一组无序数据创建一个变量 begin,使其指向数组的首元素;...