自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (1)
  • 收藏
  • 关注

转载 lua元表

本文简译自一篇老外的博客,写得不错可惜我翻译的太烂,简译如下。(key–value常见翻译为“键值对”,我翻译为索引、值)在这篇教程里我会介绍Lua中一个重要的概念: metatable(元表),掌握元表可以让你更有效的使用Lua。 每一个tabel都可以附加元表, 元表是带有索引集合的表,它可以改变被附加表的行为。看下例:t = {} – 普通表 mt = {} – 元表...

2018-06-21 21:51:46 333 1

原创 c++内联函数

定义: 内联函数是c++为提高程序运行速度的一项改进。 为什么使用内联函数: 在执行常规函数调用指令时,程序会立即存储该指令的内存地址,并将函数参数复制到堆栈,调到标记函数起点的内存单元,执行函数代码,然后跳回地址被保存的指令处。像这样来回跳跃意味着会有一定的开销。如果有些函数本身很短,使用频率又高,那么这样的开销是不值得的。 内联函数的使用: 内联函数可以在一开始仅声明一次 内联函数...

2018-05-16 23:38:17 186

原创 C++引用

定义: c++新增的一种复合类型,是已定义变量的别名。例如:int & a = b; a是b的别名,二者完全等价,可以交替使用。 主要用途: 用作函数的参数。通过将引用变量作为函数参数,函数将使用原始的数据而非拷贝之后的,这样在对结构和类变量进行传递的时候,便不需要额外创建临时变量,增加开销。 创建引用: int & a =...

2018-05-16 00:57:15 178

原创 windows下配置ipfs

下载ipfs: 下载之后解压到自己的工作目录: 打开控制台进入到工作目录,执行ipfs init命令,结果如下 此时,在图中路径会生成一个.ipfs的文件夹 通过ipfs daemon 启动ipfs后台程序 到这一步,完成了节点启动工作,后续可以通过客户端处理查看文件等操作。 使用ipfs 将本地测试文件加入到ipfs网络中 另起cmd,进入到工作目

2018-01-31 11:56:36 2717

转载 从概念到底层技术,一文看懂区块链架构设计

前言区块链作为一种架构设计的实现,与基础语言或平台等差别较大。区块链是加密货币背后的技术,是当下与VR虚拟现实等比肩的热门技术之一,本身不是新技术,类似Ajax,可以说它是一种技术架构,所以我们从架构设计的角度谈谈区块链的技术实现。无论你擅长什么编程语言,都能够参考这种设计去实现一款区块链产品。与此同时,梳理与之相关的知识图谱和体系,帮助大家系统的去学习研究。基本概念区块链的概念最

2018-01-26 16:35:09 609

转载 new分配内存的详细解释

用new 来在堆上分配内存时,使用的都是new operator,即平时使用最多的new。 new operator(C++中的new有三重含义, operator new,new operator, placement new)在申请内存的时候,首先会调用operator new 来分配内存,operator new在申请内存失败时,缺省行为是抛出异常,一旦抛出异常,而不对异常进行捕获处理,程序

2018-01-05 11:02:47 4730

原创 c++字符串的输入

首先,对于cin我们需要知道,它是通过空白(空格、制表符、换行符)来确定结束位置的。所以当我们输入一串单词例如:jon snow的时候,只会读取第一个单词,后面的单词则放在输入队列中。{ char name[20]; char dessert[20]; cout cin >> name; cout cin >> dessert;

2018-01-03 23:05:29 694

原创 快速排序

void Qsort(int num[], int startIndex, int endIndex){ if (startIndex >= endIndex) { return; } int first = startIndex; int last = endIndex; int key = num[first]; while (first < last) { whi

2018-01-03 15:09:19 173

原创 c++ 共用体

int main(){ /* 一种数据结构,可以存储不同类型的数据结构,但只能同时存其中的一种。 * 所有数据类型共享一段内存,因此这段内存的大小由最大的成员长度决定。 * 成员默认是公有,有成员函数 * 主要用途就是节省内存 */ union { int num; char ch; void print() { cout << num << endl;

2017-12-27 23:57:25 286

原创 stack

#ifndef _STACK_H_#define _STACK_H_#include using std::cout;using std::endl;templateclass stack{public: stack(int size = 10); virtual ~stack(); void Add(const T& data); T operator[](int i

2017-12-27 23:16:06 225

原创 VS没有attach to unity选项

按照正确姿势导入vstu2013后,发现VS中没有而是,最后发现是有残留的vstu2015,删除以后问题解决。

2017-12-23 12:16:28 4211

转载 Android旧版本NDK的下载

1. Android Studio 可以从http://www.androiddevtools.cn/ 或http://www.android-studio.org/下载2. NDK下载,以下载r10c为例,直接放到浏览器中下载或通过正式下载工具下载Windows 32 bithttp://dl.google.com/android/ndk/android-ndk-r10c-windo

2017-10-16 18:34:18 738

转载 Cocos2d-x 中加载骨骼动画资源

在讲骨骼动画之前我们先了解一下创建骨骼动画的编辑器Cocos Studiococos Studio是一套基于Cocos2d-x的免费游戏开发工具集,它能帮助开发者快速创建游戏资源,将大部分繁琐的游戏开发工作使用编辑器来快速制作,进一步帮助游戏开发者减短开发周期、提高开发效率。Cocos Studio本身不光只是针对骨骼动画的编辑而设计的,它还提供了UI、场景和数据等信息

2017-06-27 15:30:57 576

转载 lua 内存

lua内存泄露首先第一点,lua中的内存泄露和我们所说的c/c++中的内存泄露本质上是不一样的。lua中有垃圾回收机制(GC),所以理论上是不会有内存泄露的。当它进行GC的时候,会从根部开始扫描所有的对象,如果某个地方对这个对象还有引用,就不会把这个对象内存collect,这个对象就没有被GC。所以lua中的内存泄露是指那些:已经没有被使用了,但外部依然还有引用存在的对象。

2017-06-25 17:25:25 4139

原创 lua 关于__index,__newindex的理解

table存在两种行为:查询和修改(赋值),我们可以通过元方法__index和__newindex来改变table的这两种行为。__index主要用于table的查询table[key] 的访问过程,首先检查table表中是否存在key的字段,如果有则返回,否则检查是否有__index的元方法,没有返回nil,有则查找元方法。__index元方法可以是不一定是一个函数,还可以是一个

2017-06-15 16:10:26 13217 1

原创 lua中集合的操作

定义一个集合:local Set = {}local mt = {}function Set.new(t) local set = {} setmetatable(set, mt) for k,v in pairs(t) do set[v] = true end return setend设置集合的交集,并集方法function Set.union(a,b) lo

2017-06-15 10:47:16 7306

原创 lua 图

图的简单实现

2017-06-11 18:37:50 445

原创 lua 链表,集合,字符串缓冲

链表简单实现:头结点变量:list插入操作:list = {next = list,value = v} 集合的实现:用集合的元素作为引用放入到table基本结构:local reserved = { ["white"] = true, ["red"] = true, ["function"] = true, }if reserved["white"] then

2017-06-11 16:56:21 644

原创 Lua 双向队列的实现

local Queue ={}function Queue:new() local t = {firstId = -1, lastId = 0} setmetatable(t, self) self.__index = self return tendfunction Queue:pushFirst(data) local newFirstId = self.first

2017-06-11 16:04:12 579

原创 Lua 栈的简单实现

local Stack = {}function Stack:new() local t = {} setmetatable(t, self) self.__index = self return tendfunction Stack:push(data) self[#self+1] = dataendfunction Stack:pop() local data =

2017-06-11 15:43:53 459

转载 Lua 长度操作符

原文链接:http://www.cnblogs.com/youxin/p/3799339.html官方文档是这么描述#的:取长度操作符写作一元操作 #。 字符串的长度是它的字节数(就是以一个字符一个字节计算的字符串长度)。table t 的长度被定义成一个整数下标 n 。 它满足 t[n] 不是 nil 而 t[n+1] 为 nil; 此外,如果 t[1] 为 nil 

2017-05-25 17:48:37 415

转载 A*寻路算法浅析

最近刚接触A*寻路算法,听说是一种比较高效的自动寻路的算法,当然,事实也正是如此,这么好的东西,自然是要收入囊中的,说不定什么时候也能派上用场呢。为了学习这个,也是上网找了好多资料,看了好多博客,但是貌似有些关键点没有具体说明,所以自己也是费了不小的劲才完全理解。为了更好的讲解,特意花了一个晚上作了一系列说明图(作图真心不容易啊,如果发现图片有标注错的地方,大家多多包涵呀),希望大家能够有所收获。

2017-05-23 23:32:31 724

转载 解释型语言与编译型语言的区别

编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。C/C++ 等都是编译型语言,而Java,C#等都是解释型语言。虽然Java程序在运行之前也有一个编译过程,但是并不是将程序编译成机器语言,而是将它编译成字节码(可以理解为一个中间

2017-05-19 17:22:13 218

原创 sublime Text 3写lua

sublime下载地址:http://www.sublimetext.com/3 1.sublime中文乱码的解决: 打开sublime,按Ctrl+~打开控制台,复制如下代码import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; pf =

2017-04-22 00:11:58 632

ConvertToUTF8

sublime Text 3中文乱码插件包

2017-04-22

空空如也

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

TA关注的人

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