2020年8月10日
摘要: std::deque是双端队列,可以高效的在头尾两端插入和删除元素,在std::deque两端插入和删除并不会使其它元素的指针或引用失效。在接口上和std::vector相似。与sdk::vector相反,std::deque中的元素并非连续存储:典型的实现是使用一个单独分配的固定大小数组的序列。s 阅读全文
posted @ 2020-08-10 14:45 树河田 阅读(1558) 评论(0) 推荐(0) 编辑
  2020年7月22日
摘要: assert是运行期断言,也就是在编译期出现的错误,它不会提示;而boost中的BOOST_STATIC_ASSERT是在编译期的断言,也就是说在编译的时候就可以断言出错误。比如下面的函数: void expects_ints_to_be_4bytes() { BOOST_STATIC_ASSERT 阅读全文
posted @ 2020-07-22 21:30 树河田 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 在工作中需要重写一个洗牌算法,根据网络中的资料分析了一下,已经有总结得很好的了,就直接总结转载了一下。 洗牌算法大致有3种,按发明时间先后顺序如下: 一、Fisher–Yates Shuffle 算法思想就是从原始数组中随机抽取一个新的数字到新数组中。算法英文描述如下: Write down the 阅读全文
posted @ 2020-07-22 21:13 树河田 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 出处:https://mp.weixin.qq.com/s/uYPnZ0MsQIT2_t3lk8ju1g 问题 小E最近在设计一款斗地主小游戏,为了保证发到玩家手中的牌具有随机性,小E必须对现实世界中的洗牌过程进行模拟。看似简单的一个问题,却难住了小E。 于是,小E向老师请教。 思路 点评:上面即为 阅读全文
posted @ 2020-07-22 21:10 树河田 阅读(201) 评论(0) 推荐(0) 编辑
  2020年7月20日
摘要: 阅读目录 new/delete, new []/delete [] 基本格式 malloc/free和new/delete的区别和联系 new/delete, new []/delete[], malloc/free配套使用! 在C语言中,我们写程序时,总是会有动态开辟内存的需求,每到这个时候我们就 阅读全文
posted @ 2020-07-20 21:54 树河田 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 将类型名作为强制类型转换运算符的做法是C语言的老式做法,C++ 为保持兼容而予以保留。C++ 引入了四种功能不同的强制类型转换运算符以进行强制类型转换:static_cast、reinterpret_cast、const_cast 和 dynamic_cast。强制类型转换是有一定风险的,有的转换并 阅读全文
posted @ 2020-07-20 21:48 树河田 阅读(192) 评论(0) 推荐(0) 编辑
摘要: std :: accumulate累计范围内的值返回将范围中的所有值累加[first,last)到init的结果。 默认操作是向上添加,但可以将不同的操作指定为binary_op。 accumulate (InputIterator first, InputIterator last, T init 阅读全文
posted @ 2020-07-20 20:53 树河田 阅读(1207) 评论(0) 推荐(0) 编辑
摘要: unique是 c++标准模板库STL中十分实用的函数之一,使用此函数需要 #include <algorithm> 一, 该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素,注意 (1) 这里的去除并非真正意义的erase,而是将重复的元素放到容器的末尾,返回值是去重之后的尾地址。 (2 阅读全文
posted @ 2020-07-20 20:40 树河田 阅读(662) 评论(0) 推荐(0) 编辑
摘要: 先看看《C++ Primer》中对resize()函数两种用法的介绍: 1、resize(n) 调整容器的长度大小,使其能容纳n个元素。 如果n小于容器的当前的size,则删除多出来的元素。 否则,添加采用值初始化的元素。 2、 resize(n,t) 多一个参数t,将所有新添加的元素初始化为t。 阅读全文
posted @ 2020-07-20 19:49 树河田 阅读(589) 评论(0) 推荐(0) 编辑
  2020年7月17日
摘要: 转自:http://www.gamelook.com.cn/2018/07/333877 文/wataloo 1 设计概要 1.1 设计原则和目的 英雄AI的目的主要有: 1.新手过渡局,让玩家刚进入到游戏时,和较弱电脑对战,培养成就感,避免尚未熟悉游戏导致的挫折流失。 2.人机对战,给玩家练习新英 阅读全文
posted @ 2020-07-17 17:48 树河田 阅读(488) 评论(0) 推荐(0) 编辑