自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(66)
  • 资源 (2)
  • 收藏
  • 关注

翻译 检查类中是否有某个成员函数

1.检查类中是否有成员函数,不包括继承的成员函数//例子1template<typename T>struct has_no_destroy{ template <typename C> static char test(decltype(&C::no_destroy)); template <typename C> static i...

2019-08-12 13:28:38 528

转载 pthread_key_t和pthread_key_create()详解

下面说一下线程中特有的线程存储, Thread Specific Data 。线程存储有什么用了?他是什么意思了?大家都知道,在多线程程序中,所有线程共享程序中的变量。现在有一全局变量,所有线程都可以使用它,改变它的值。而如果每个线程希望能单独拥有它,那么就需要使用线程存储了。表面上看起来这是一个全局变量,所有线程都可以使用它,而它的值在每一个线程中又是单独存储的。这就是线程存储的意义。下面说...

2019-03-04 20:15:01 390

转载 Cocos2d-x中纹理CCRenderTexture的使用

记录一下Cocos2d-x中动态纹理CCRenderTexture的各种应用,实现截屏、阴影等等使用CCRenderTexture需要做以下5步:创建一个新的CCRenderTexture. 这里,你可以指定将要创建的纹理的宽度和高度。 调用 CCRenderTexture:begin. 这个方法会启动OpenGL,并且接下来,任何绘图的命令都会渲染到CCRenderTexture里面去,...

2019-01-24 09:16:42 2470

转载 zigzag算法

原码我们用第一个位表示符号(0为非负数,1为负数),剩下的位表示值。比如:[+8] = [00001000]原[-8] = [10001000]原反码我们用第一位表示符号(0为非负数,1为负数),剩下的位,非负数保持不变,负数按位求反。比如:[+8] = [00001000]原 = [0000 1000]反[-8] = [10001000]原 = [1111 0111]...

2019-01-12 14:52:18 2327

转载 VScode搭建TypeScript开发环境

TypeScript 是 JavaScript 的类型的超集,它可以编译成纯 JavaScript。编译出来的 JavaScript 可以运行在任何浏览器上。TypeScript 编译工具可以运行在任何服务器和任何系统上,TypeScript 是开源的。为什么选择 TypeScript以及TypeScript优缺点阅读TypeScript入门教程。利用VScode搭建TypeScript开发环境前...

2018-12-19 13:31:03 850

转载 CocosCreator资源释放总结

在用CocosCreator做项目的时候,如果项目过大,资源很多,然后,现在我们假设我们这样设计架构:1、打开一个界面(预制体)的时候,有关这个预制体的图片资源也用cc.loader加载进来;2、关闭这个界面的时候,把有关的图片用cc.loader.release释放,如果是公共资源就不释放;3、换场景的时候我们选择自动释放资源。 上面是一个项目资源过多的项目的架构设计的其中一...

2018-12-02 11:05:13 4021

转载 理解template类型的推导

  本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢! 一些用户对复杂的系统会忽略它怎么工作,怎么设计的,但是很高兴去知道它完成的一些事。通过这样的方式,c++中的template类型的推导取得了巨大的成功。数以万计的程序员曾传过参数给template函数,并得到了满意的结果。尽管很多那些程序员很难给出比朦胧的描述更多的东西,...

2018-11-21 14:41:53 614

转载 区分右值引用和universal引用

 本文翻译自《effective modern C++》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢!古人曾说事情的真相会让你觉得很自在,但是在适当的情况下,一个良好的谎言同样能解放你。这个Item就是这样一个谎言。但是,因为我们在和软件打交道,所以让我们避开“谎言”这个词,换句话来说:本Item是由“抽象”组成的。为了声明一个指向T类型的右值引用,你会写T&amp;...

2018-11-19 13:22:25 141

转载 理解std::move和std::forward

 本文翻译自《effective modern C++》,由于水平有限,故无法保证翻译完全正确,欢迎指出错误。谢谢!根据std::move和std::forward不能做什么来熟悉它们是一个好办法。std::move没有move任何东西,std::forward没有转发任何东西。在运行期,它们没有做任何事情。它们没有产生需要执行的代码,一byte都没有。std::move和std:...

2018-11-19 12:40:59 359

转载 C++ POD(Plain Old Data)类型

C++ POD(Plain Old Data)类型作者: NickYang 分类: 技术文章,程序开发 发布时间: 2012-12-30 11:41群里发过来一份他们公司的笔试题,看了下,发现里面考了一个判断如下是否为POD类型,没搞明白什么是POD,多方查阅后,发现其实是指一个C风格代码的概念。POD全称Plain Old Data是指C风格的struct结构体定义的数据结构,其中s...

2018-11-16 19:31:08 543

原创 模板类,模板成员函数,模板嵌套类

在模板类中声明一个模板成员函数,定义方式:.h文件 template &lt;typename T, std::size_t N&gt;struct MsgOperaTrait : MsgOperaBase{    enum {MSGID = N};    template&lt;class K&gt;    void NotifyCardOperFunc(K* pCardOp...

2018-11-16 11:55:28 931

转载 c++11新特性:enable_shared_from_this

enable_shared_from_this是一个模板类,定义于头文件&lt;memory&gt;,其原型为:template&lt; class T &gt; class enable_shared_from_this;       std::enable_shared_from_this 能让一个对象(假设其名为 t ,且已被一个 std::shared_ptr 对象 pt 管理)...

2018-08-21 20:28:48 217

转载 多人开发的基础---组件化编程,仿COM篇

引言:    在大型项目的开发中,随着开发进度的进行,我们经常碰到模块之间耦合度太高的问题:由于开发人员经常要在别的模块中调用自己实现的功能,经常随意在某个函数中随意添加调用代码,造成了被修改的那个函数体过长,逻辑混乱。另一个问题是随意包含头文件:开发人员在开发中经常为了要使用某些类的功能而包含引用类的头文件造成类之间的耦合度太高,被包含类的头文件一处轻微修改经常就会引起整个程序大规模的编译和...

2018-08-16 09:41:24 1517 3

原创 c++可变参数模板

可变模板参数函数1.逗号表达式展开参数包template&lt;class F, typename... Args&gt;void expand(const F&amp; f, Args... args){ initializer_list&lt;int&gt;{(f(std::forward&lt; Args&gt;(args)), 0)...};}//expand([](a...

2018-08-14 21:43:21 739

原创 google gTest 单元测试window环境搭建

在window系统下编译gtest库1.•https://github.com/google/googletest.git    google的gtest源码下载链接2.在googletest\msvc\2010目录下双击gtest.sln用vs2013打开,编译。编译的时候在gtest_unittest项目中可能会遇到__gnu_cxx域不识别的问题,注释掉gtest-port.h中的 ...

2018-08-11 16:03:39 1418

原创 rc编译出现error RC2108: expected numerical dialog constant

 CONTROL         "",IDALC_PORTRAIT,2,2,15,14,NOT WS_GROUP修改为: CONTROL         "",IDALC_PORTRAIT,"Static",SS_BITMAP,2,2,15,14

2018-08-10 15:37:49 922

转载 Windows系统中owner-owned 关系和 parent-child关系

一、概念和区别    在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。    所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为拥有/被...

2018-07-20 08:48:06 999

转载 Windows系统时钟间隔

Windows系统时钟间隔发表于2013 年 9 月 1 日由张佩引用注明&gt;&gt; 【作者:张佩】【原文:www.yiiyee.cn/blog】下载:ClockInternal.rar (1324)系统时钟间隔是个很少被关心到的系统标量,它反映了系统产生时钟中断的频率,间隔越小频率越高,反之亦然。每当时钟中断产生,系统相关的中断函数将会处理这个中断。时钟中断处理函数会更新系统时间,检查内核...

2018-07-06 09:09:49 590

转载 DECLARE_MSG_MAP参考实例

#pragma once#include &lt;wtypes.h&gt;#include &lt;afxmsg_.h&gt;class CModule;typedef BOOL(CModule::*MODULE_PMSG)(LPCONTEXT_HEAD lpContext, LPREQUEST lpRequest);struct MODULE_MSGMAP_ENTRY{ ...

2018-07-05 20:39:26 237

原创 游戏设计模式

参考书籍:https://gpp.tkchu.me/acknowledgements.html

2018-07-04 13:20:42 773

原创 为什么不要在构造函数中调用虚函数

基类部分在派生类部分之前被构造,当基类构造函数执行时派生类中的数据成员还没被初始化。如果基类构造函数中的虚函数调用被解析成调用派生类的虚函数,而派生类的虚函数中又访问到未初始化的派生类数据,将导致程序出现一些未定义行为和bug。参考:https://www.artima.com/cppsource/nevercall.html...

2018-06-22 13:25:38 336

原创 排序算法

1.归并排序/* time: o(nlogn) space:o(n) stable*/void merge(int*a, int start, int end, int mid){ int* aBackup = new int[end - start + 1]; memset(aBackup, 0, sizeof(int)*(end - start + 1)); int...

2018-05-31 23:30:47 96

转载 函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别

函数调用方式--__thiscall调用方式和__cdecl,__stdcall有什么区别首先,__thiscall是关于类的一种调用方式,它与其他调用方式的最大区别是:   __thiscall对每个函数都增加了一个类指针参数  class   aa     {     void   bb(int   cc);     };     实际上bb的函数原形是void   bb(aa   &amp;...

2018-05-29 22:29:40 3507

原创 关于一个类的空指针可以调用成员函数的问题:静态绑定

首先看一下代码://============================================================================// Name : Adapter.cpp// Author : // Version :// Copyright : Your copyright notice// Descrip...

2018-05-29 22:28:49 392

原创 drawcalls(_drawnBatches)分析

一、drawcalls是什么? 在引擎调用glDrawElements(函数介绍详见2.6.3)绘制图元的时候,_drawnBatches都会+1,从而可以看出_drawnBatches就是用来记录定点绘制过程中,顶点缓冲区告诉GPU渲染就会增加,可以当作图元绘制过程中的一个性能指标二、代码分析_drawnBatches的+1地方其中:1)_batchedCommands保存了当前需要显示的...

2018-05-29 10:34:47 2972

转载 广义线性模型.多项式分布.softmax

《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html参考博文:http:...

2018-05-24 22:15:13 714

转载 牛顿法.指数分布族

《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html本篇博文涉及课程四:...

2018-05-24 21:41:38 266

原创 lua学习之继承

实现的关键在于:将函数用作__index。记住,当一个表的 metatable 存在一个__index函数时,如果 Lua 调用一个原始表中不存在的函数,Lua 将调用这个__index 指定的函数。这样可以用__index 实现在多个父类中查找子类不存在的域。代码:local function search(k, plist) for i = 1, table.getn(plist) do ...

2018-05-24 17:00:27 111

原创 lua学习之类

有两个对象 a 和 b,我们想让 b 作为 a 的 prototype 只需要:setmetatable(a, {__index = b})这样,对象 a 调用任何不存在的成员都会到对象 b 中查找。local Account = {balance=1}function Account:withdraw(v) self.balance = self.balance - vendfun...

2018-05-24 16:56:18 112

转载 逻辑回归.感知器算法

《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html逻辑回归在之前的学习...

2018-05-23 22:28:29 245

转载 局部加权回归

《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html写了几篇笔记,发现好...

2018-05-23 22:27:11 287

原创 lua学习之全局变量

全局变量保存在_G表中。全局变量不需要声明,对小的程序很方便。当程序很大时,可能会导致很难发现的bug.方法1:function declare(name, initval ) rawset(_G, name, initval or false) --rawset是会绕过metamethod的endsetmetatable(_G, { __newindex = function (_...

2018-05-23 15:44:29 3412

原创 lua学习之监控表

__index和__newindex都是在只有表中访问的域不存在的时候才起作用。捕获对一个表的所有访问情况的唯一方法是保持表为空。所以想监控一个表的所有访问情况,我们就应该创建一个代理,这个代理是空表。local index = {}local mt = { __index = function(t, k) print("*access to element "..tostring(k)...

2018-05-23 15:33:29 536

原创 配置Sublime Text的lua开发环境

1.编译lua   参考https://blog.csdn.net/u014269285/article/details/795748132.设置lua环境变量3.在sublime Text创建新的编译系统4.添加下面的配置,命名为selflua.sublime-build{"cmd": ["lua", "$file"],  "file_regex": "^(?:lua:)?[\t ](...*?...

2018-05-23 15:22:23 590

转载 泊松分布 Poisson Distribution

泊松分布: 是离散随机分布的一种; 通常被使用在估算在 一段特定时间/空间内 发生事件 数量的概率.使用泊松分布需要满足的前提条件:在 两个 相同大小/长度的 时间/空间内, 一个事件的发生的概率是相同的.事件发生于不发生是相互独立的\不受其他事件的发生或者不发生影响.PMF( probability Mass Function/概率质量函数):  点击了解PMF                 ...

2018-05-21 22:10:33 1361

转载 伯努利分布(Bernouli Distribution)

适用环境:伯努利分布是较为简单的一种分布,应用于两种实验结果。要么成功,要么失败,一定程度上是二元的性质。这里,我们假设成功的概率为pp,显然失败的概率就变成了1−p1−p。 概率公式可以表示为f(x)=px(1−p)1−xf(x)=px(1−p)1−x,xx为0或1,1代表成功,0代表失败。 接下来我们研究以下统计量,1.数学期望E(x)=E(x1)+E(x2)+⋯+E(xn)=x1p1+x2p...

2018-05-21 22:06:27 8734

原创 cocos: 出现类似RotationX!=RotationY的问题

    在对一个csb的node执行copy时发现下面如图的错误,让人很难受。     因为在cocos studio里面的新增的ImageView导致的这个问题,就查cocos源码发现在Node:getRotation中出现问题怀疑_rotationZ_X和_rotationZ_Y是浮点数,直接用==比较会出问题。通过修改cocos studio里面这个imageView的旋转角度不一样,确实会...

2018-05-18 09:32:20 2420

转载 对最小二乘法的概率解释

《Andrew Ng 机器学习笔记》这一系列文章文章是我再观看Andrew Ng的Stanford公开课之后自己整理的一些笔记,除了整理出课件中的主要知识点,另外还有一些自己对课件内容的理解。同时也参考了很多优秀博文,希望大家共同讨论,共同进步。网易公开课地址:http://open.163.com/special/opencourse/machinelearning.html在这篇博文中,我们来...

2018-05-17 21:45:45 422

转载 极大似然估计

极大似然估计        以前多次接触过极大似然估计,但一直都不太明白到底什么原理,最近在看贝叶斯分类,对极大似然估计有了新的认识,总结如下:贝叶斯决策        首先来看贝叶斯分类,我们都知道经典的贝叶斯公式:        其中:p(w):为先验概率,表示每种类别分布的概率;:类条件概率,表示在某种类别前提下,某事发生的概率;而为后验概率,表示某事发生了,并且它属于某一类别的概率,有了这...

2018-05-17 20:28:30 177

转载 WinDbg调试dmp(查找问题的异常堆栈时出现的 UnhandledExceptionFilter 调用堆栈跟踪中和其他技巧)

1.使用windbg打开dump文件,同时设置symbols。 如果之前下载过windows的symbols就直接设置symbols path: (windows和程序的pdb) 例如:C:\Symbols;E:\work\技术分享\dump分析\1115服务器无响应dump\gsss\gssssvr 如果之前没有下载过windows的s...

2018-05-17 17:39:46 6285 2

markdown插件 notepad++

markdown插件 notepad++

2016-12-20

Core Data多线程大量数据同步

Core Data多线程大量数据同步,ios开发

2016-01-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除