`
7090
  • 浏览: 278470 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
#include "stdafx.h" #include <iostream> #include <regex> #include <string> using namespace std; int main() { std::string s("abcd12_efgh34"); std::regex e("abcd(\\d+)_efgh(\\d+)"); std::smatch sMatchResult; if (std::regex_match(s, sMatchResult, e ...

Lua闭包

    博客分类:
  • Lua
Lua中的闭包函数,如果想在外面调用,必须在闭包的母函数执行后才能正常调用,否则改函数引用为空 _G.UIFather = {} function UIFather:New(prefab) local t = { ["prefab"] = prefab } setmetatable(t, self) self.__index = self return t end function UIFather:RegisterCloseEvent(instance, func, ...) function UIFather ...

(转)lua元表

    博客分类:
  • Lua
本文简译自一篇老外的博客,写得不错可惜我翻译的太烂,简译如下。 (key--value常见翻译为“键值对”,我翻译为索引、值) 在这篇教程里我会介绍Lua中一个重要的概念: metatable(元表),掌握元表可以让你更有效的 使用Lua ...

Lua元方法

    博客分类:
  • Lua
__add(a, b) --加法 __sub(a, b) --减法 __mul(a, b) --乘法 __div(a, b) --除法 __mod(a, b) --取模 __pow(a, b) --乘幂 __unm(a) --相反数 __concat(a, b) --连接 __len(a) --长度 __eq(a, b) --相等 __lt(a, b) --小于 __le(a, b) --小于等于 __index(a, b) --索引查询 __newindex(a, b, c) --索引更新 __call(a, ...) --执行方法调用 __tostring(a) --字符串输出 __meta ...
在mac osx lion中sed来进行文件内容的替换操作,使用命令为: sed -i 's/oldstring/newstring/g' full-path-file 执行后提示出错,错误信息为:“sed: 1: command a expects \ followed by text”,但是相同的命令拿到centos下确能执行成功。 使用man查看命令的参数详细说明,两个系统下对参数“i”的要求不一样。 mac osx中为: -i extension Edit files in-place, saving backups with the specified extension. ...
近日开始频繁使用Lua,于是把这块东西理了一下,特此记录。 Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制来模拟了类似“类”的行为 举例说明: tempTable = {} print(tempTable.memberA) --这里试图打印tempTable并不存在的成员memberA 执行结果:nil 输出为nil的原因很简单,tempTable中并没有memberA这个成员,这符合我们平时对HashMap的认知。但对于Lua表,如果tempTa ...
Win7系统:在Win7操作系统下,如果是以Administrator登陆,则VC6.0打开工程文件的时候,不能同时打开多个工程文件,后打开的工程会将前一个工程close掉,这样,VC6.0只能出现一个进程。在xp下,我们可以设置文件打开的默认方式中去掉DDE选项,这样可以使得VC6可以同时打开多个工程,但在win7下,却没有办法找到这个设置窗口。经过实践,可以用以下办法解决: 打开cmd: 1)输入assoc .dsp回车,确认后缀为.dsp的文件类型为dspfile; 2)输入assoc .dsw回车,确认后缀为.dsw的文件类型为dswfile; 3)打开vc6的快捷方式的属性,拷贝vc6 ...
最近研究了Android自带的测试工具monkey 跟 monkeyrunner。 monkey主要应用在压力和可靠性测试上,运行该命令可以随机地向目标程序发送各种模拟键盘事件流,并且可以自己定义发送的次数,以此观察被测应用程序的稳定性和可靠性,应用起来也比较简单,记住那几个命令就行了。而monkeyrunner呢,相比之下会强大一些,它主要可应用于功能测试,回归测试,并且可以自定义测试扩展,灵活性较强,并且测试人员可以完全控制。 monkey工具: 基本语法如下: $ adb shell monkey [options] <event-count> 如果不指定option ...
看以下代码: for i=1,2 do print(i) i=3 end 输出是什么?如果习惯了C/C++语言,会觉得因为改变了控制变量i为3,所以在执行第二次循环体之前判断不通过,所以输出是1。 但结果输出是1和2,即虽然改变了i,但循环还是执行了2次。这是为什么呢? 看了lua的源代码,发现在语法分析阶段,表达式中的i(也叫控制变量)和循环体中的i并不是一个值,其实表达式中的i叫internal index,循环体中的i叫external index。 所以在循环体中并没有改变表达式中的i的值。 至于为什么lua要这样做,估计是为了安全吧,怕在循 ...
#include "stdafx.h" struct MyStruct1 { }; struct MyStruct2 { char a; }; #pragma pack(2) struct MyStruct3 { }; struct MyStruct4 { char a; }; #pragma pack() struct MyStruct5 { char a; int b; short c; }; #pragma pack(2) struct MyStruct6 { char a; int b; short c; }; #prag ...
文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透。   一、概念       对齐跟数据在内存中的位置有关。如果一个变量的内存地址正好位于它长度的整数倍,他就被称做自然对齐。比如在32位cpu下,假设一个整型变量的地址为0x00000004,那它就是自然对齐的。      二、为什么要字节对齐       需要字节对齐的根本原因在于CPU访问数据的效率问题。假设上面整型变量的地址不是自然对齐,比如为0x00000002,则CPU如果取它的值的话需要访问两次内存,第一次取从0x00000002-0x00000003的一个short,第二次取从0x000000 ...
下面的方法,是我平时工作的时候用得比较多的快捷键,是以vs2008 + VA插件 为主,不过其它版本也是差不多的。 快捷键习惯设置: Tools->Options->Keyboard:Apply the following additional keyboard mapping scheme 选择Visual C++ 6 VA加快捷键: 先为VA设置一下我自己个人比较喜欢的快捷键,不多,就两个。 Tools->Options->Keyboard:Show commands containing: VassistX.NavigateForward Alt + -> ...
在iOS7中,苹果加强了对游戏开发的支持,其中一个功能就是增加了Game Controller Framework (GameController.framework)可以让你在程序中发现游戏控制器硬件并进行配置。通过Game Controller Framework可以通过无线或者蓝牙连接iOS设备。当控制器可用的时候,该Framework会通知应用程序。 Game Controller Framework 支持三种类型的控制器 • 标准的控制器:该控制器具有一个方向键,一个暂停按钮,四个按钮和两个肩部按钮。 • 扩展的控制器:该控制器跟标准控制器类似,但它可以有两个杆和四个肩部按钮。 • 扩 ...
原文:http://www.cplusplus.com/reference/algorithm/remove/ c++98中的实现: template <class ForwardIterator, class T>   ForwardIterator remove (ForwardIterator first, ForwardIterator last, const T& val) {   ForwardIterator result = first;   while (first!=last) {     if (!(*first == val)) {       * ...
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示: class String { String ( const char* p ); // 用C风格的字符串p作为初始化值 //… } String s1 = “hello”; / ...
Global site tag (gtag.js) - Google Analytics