![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 62
little_stupid_child
这个作者很懒,什么都没留下…
展开
-
论游戏中Buff的实现
源地址:http://blog.codingnow.com/2007/11/inertia_thinking.html晚上在办公室晃荡,对面的同事在加班写代码。我凑上去看看在写什么。我向他了解了后明白了,大约是服务器上角色 buff 的实现吧。BUFF 这个术语是现在网络游戏中非常常见的。给角色加一个 BUFF 通常意味着对虚拟角色的一些数值上的临时修正:例如,攻击力 +5转载 2017-02-06 18:08:42 · 3868 阅读 · 0 评论 -
【C++】玩转Google开源C++单元测试框架Google Test系列(gtest)之八 - 打造自己的单元测试框架
一、前言上一篇我们分析了gtest的一些内部实现,总的来说整体的流程并不复杂。本篇我们就尝试编写一个精简版本的C++单元测试框架:nancytest ,通过编写这个简单的测试框架,将有助于我们理解gtest。二、整体设计使用最精简的设计,我们就用两个类,够简单吧:1. TestCase类包含单个测试案例的信息。 2. UnitTest类转载 2018-01-05 15:38:25 · 762 阅读 · 0 评论 -
【C++】C++ 多返回值函数
在一些复杂的应用中,使用多返回值的函数更加方便。从使用一个结构体到采用c++ 11新特性tuple类模板,在c++中有多种方式实现这一需要。 通过返回一个对象来实现多返回值函数,这个方案比较直观,但在很多情况下有些小题大做了。首先,你必须去声明一个结构体。结构体常常要对使用者开放权限,因此你必须将结构体成员暴露在外部的世界。其次,你还要为结构体构建实例,尽管这一活动没人喜欢去做。 幸运的是翻译 2018-02-01 17:44:22 · 2037 阅读 · 0 评论 -
【环境搭建】loki库编译环境搭建(linux云主机+ftp服务器)
学习loki开源库的使用,下载loki的源码后需要编译,在vs2012中打开文件项目编译执行时总是出现错误,出现错误“无法启动程序,***/Debug/library.lib,系统找不到指定文件”。打开loki源码中的ReadMe发现,loki对编译器的要求为Supported Compilers:Gcc v3.4Gcc v4.0Gcc v4.1Microsoft Vi原创 2018-01-11 23:03:52 · 1245 阅读 · 0 评论 -
【问题解决】Can't parse message of type "..." because it is missing required fields: eType问题的解决办法
C++的protoBuff在解析时有时会出现Can't parse message of type "..." because it is missing required fields: eType错误原因:发包方发送的数据不完整(双方使用的类型不一致造成的)解决:检查发送包的字段,与接受包的类型字段是否相同后端修改后,重新编译,前端仍使用以前的包,极容易导致这个问题原创 2017-02-18 16:18:28 · 6054 阅读 · 0 评论 -
【问题解决】把在vs2013中加载vs2010的串口通信项目中所遇问题
在vs2013中加载vs2010的串口通信项目中所遇问题a.使用记事本打开sln文件,修改为2013b.清空Debug或可执行文件所在文件夹c.添加MSComm控件运行项目(vs2010)所遇到问题1.vs2013无法打开vs2010(解决办法)2.重新编译运行时,出现无法启动程序,系统找不到指定的文件错误(解决办法)换个项目名字,发现可以。找到exe文件生成的原创 2017-03-26 10:17:28 · 1422 阅读 · 0 评论 -
【问题解决】vs2013无法打开vs2010的解决方案
用记事本的方式打开sln文件 将版本号改一下Microsoft Visual Studio Solution File, Format Version 12.00# Visual Studio 2013原创 2017-03-22 15:51:54 · 2904 阅读 · 1 评论 -
【C++】Loki库源码读解随想
《Modern C++ Design》Loki库源码读解随想大牛Andrei Alexandrescu的《Modern C++ Design》讨论的是C++语言的最前沿研究:generative programming。本书中译版估计得要半年以后才能出来,所以只能靠其所附源码来窥测generative programming了。目前,我刚将源码读解了约一半,等全部读完,我会将我的读解注释放转载 2017-01-14 18:28:46 · 833 阅读 · 0 评论 -
【C++】c++的const用法总结
1. const修饰普通变量和指针const修饰变量,一般有两种写法:const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。例如:const int nValue;转载 2015-07-16 19:11:30 · 762 阅读 · 0 评论 -
【C++】《C++编程规范》摘录
第5条一个实体应该有一个紧凑的职责摘要一次只解决一个问题:只给一个实体(变量、类、函数、名称空间、模块和库)赋予一个定义良好的职责。随着实体变大,其职责范围自然也会扩大,但是职责不应该发散。第32条弄清所要编写的是哪种类摘要了解自我:有很多种不同的类。弄清楚要编写的是哪一种。第33条用小类替代巨类摘要分而治之:小类更易于编写,更易于保证正原创 2016-12-05 18:47:45 · 718 阅读 · 0 评论 -
【C++】实现游戏开发中对象池(含源码)
最近在做游戏开发,阅读了一些源码后做了一些总结与记录,希望对自己和其他的朋友有所帮助对象池的五要素:1.对象集合2.未使用对象索引集合3.已使用对象索引集合4.当前使用量5.最大使用量c++实现游戏开发中常用的对象池(含源码)原创 2017-01-06 15:32:03 · 886 阅读 · 0 评论 -
【C++】实现单例模式(懒汉式)含源码
最近在做游戏开发,阅读了一些源码后做了一些总结与记录,希望对自己和其他的朋友有所帮助本单例模式特点:1.本单例模式为模板类,通过派生即可实现单例特点(同时不妨碍子类构造新对象)2.通过调用GetSingleton()、GetSingletonPtr()接口生成的对象为同一个对象3.生成单例的过程为懒汉式,即首次调用才创建单例要素:1.通过接口获得的实例为同一个实原创 2017-01-07 21:18:19 · 806 阅读 · 0 评论 -
【C++】实现敏感词过滤算法(含源码)
敏感词过滤算法(聚合词树查询法)1.构建词树2.敏感词判断3.遍历文本关于敏感词过滤算法,数不胜数,在参考众多算法后,选取了比较实用的算法,进行总结与改进。大家可以参考一下链接:敏感词过滤算法实现发一个高性能的敏感词过滤算法 可以忽略大小写、全半角、简繁体、特殊符号干扰算法描述:将所有敏感词库按模块聚合构建成一个词树(所谓聚合,就是将相同字开头的部分进行聚合原创 2017-01-13 11:52:35 · 7558 阅读 · 0 评论 -
【C++】实现日志系统(含源码)
最近在做游戏开发,阅读了一些源码后做了一些总结与记录,希望对自己和其他的朋友有所帮助。软件开发中常常将关键的操作、一般性警告以及严重的错误,通过字符串的形式输出至日志文件,本子系统实现bootlog,debuglog,warning,fatallog等输出形式,支持多线程。有不到之处欢迎指正,交流。email:caohaitao_linux@163.comLoLog日志系统关键知识:1原创 2017-01-24 16:28:38 · 3824 阅读 · 0 评论 -
【C++】Loki库使用
C++设计模式类库 Loki介绍与用法Loki是由Andrei编写的一个与《Modern C++ Design》(C++设计新思维)一书配套发行的C++代码库。它不仅把C++模板的功能发挥到了极致,而且把类似设计模式这样思想层面的东西通过库来提供。本篇文章介绍如何利用Loki来轻松地实现一些设计模式。由于Loki使用了大量牛X到爆的模板技巧,对编译器的要求是很苛刻的,官转载 2018-01-02 14:39:01 · 1512 阅读 · 0 评论