c++
andy1515
半路程序员
展开
-
lua_rawget,lua_rawset,lua_rawgeti,lua_rawseti继续理解
lua_gettable和lua_settable都可以操作table。void lua_gettable (lua_State *L, int index);把t[k]值压入堆栈, 这里的t是指有效索引index指向的值, 而k则是栈顶放的值。这个函数会弹出堆栈上的 key (把结果放在栈上相同位置)。 在 Lua 中,这个函数可能触发对应 "index" 事件的元方...原创 2020-04-13 22:02:53 · 1385 阅读 · 0 评论 -
vs2015 解决方案中添加项目
目的:解决方案中添加项目,为的是给项目引入需要的库,如lua库,websocket和https库方法步骤1.新建exe项目2.再新建lib静态库,举例(lua库),导入lua源码,剔除lua.c和luac.c文件,再生成解决方案,编译通过后lib静态库保存于debug文件夹中3.在步骤1中添加引用4.打开项目属性,在【项目】-【xxx(工程名)属性】-【VC++目录】-【附加目...原创 2020-04-12 10:48:43 · 1236 阅读 · 0 评论 -
c++ STL 整理20200409
感谢https://www.cnblogs.com/pullself/p/10049657.html#jumpC++ 常用STL整理容器和配接器list(链表)list可以认为是一个线性的双向链表,具有链表的特性,不使用连续的内存空间,可以快速的插入和删除,不支持随机的内部访问。使用需包含include<list>头文件,std命名空间。常用使用方法:1.创建实...原创 2020-04-09 10:21:40 · 114 阅读 · 0 评论 -
c++ 常用泛型函数
泛型函数结合lambda函数可以实现很多功能如: 将序列中的每个负数替换为其绝对值: transform(vi.begin(),vi.end(),vi.begin,[](int x){return x<0? -x:x;}); 查找第一个长度大于等于sz的元素: auto wc =find_if(words.begin(),words.end(),[sz](const st...原创 2020-04-08 11:46:18 · 1217 阅读 · 0 评论 -
cocos2dxz之action和actionmanager关系
Cocos2d-x Action管理动作管理类CCActionManager是一个管理所有动作的单例,工作原理是:当CCNode执行runAction时,该函数会把动作通过动作管理类的addAction函数将对象传递给CCActionManager的单例,该实例再把这个动作添加到自己的动作序列中。动作管理单例通过定时刷新自己的update方法,在这个方法中去调用行为序列中每个动作的step...原创 2020-04-07 10:24:18 · 175 阅读 · 0 评论 -
cocos2dx之anchorpoint
设置锚点:Layer和Sprite有不同,layer要设置锚点,必须先:ignoreAnchorPointForPosition(false);原创 2020-04-07 09:06:42 · 126 阅读 · 0 评论 -
将lua源码编译成静态文件,实现c++和lua相互调用
学习怎么在c++中引用lua,并实现在c++中调用lua文件工具:lua源码,vs20131.下载lua源码(地址:http://www.lua.org)2.将lua源码编译成静态文件(我这里只编译了lua链接库,lua编译器和lua解释器暂时不需要)新建一个VC++的win32控制台工程,命名为Lua53,添加【新建筛选器】,再把lua源码.h和.c文件添加进去,(除去lua...原创 2020-04-06 19:47:07 · 568 阅读 · 0 评论 -
cocos2d-x什么时候需要retain和release
原文:https://blog.csdn.net/musicvs/article/details/8689345?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task1.为什么会有retain?C++和Java不一样,Java有一套很方便的垃圾...原创 2020-03-24 10:01:51 · 234 阅读 · 0 评论 -
cocos2dx schedule流程图
原创 2020-03-23 15:11:24 · 221 阅读 · 0 评论 -
cocos2d-x EventDispatcher流程图
dispatchEvent总结:1.调用sortEventListeners对listener排序2.调用dispatchTouchEventToListeners并传listenervVector和回调onTouchEvent给它3.按照监听器优先级小于0,优先级==0,优先级>0的顺序执行回调函数4.调用updateListeners(event);...原创 2020-03-23 15:09:42 · 192 阅读 · 0 评论 -
cocos2dx mainloop
原创 2020-03-23 15:04:45 · 90 阅读 · 0 评论 -
C++ vector拷贝使用总结
参考:https://blog.csdn.net/hust_bochu_xuchao/article/details/72850862虽是细节,但使用不当,也容易造成严重错误。挖过填过的坑,记录一下。主要有以下几种方法vector<int> list;list.push_back(1);list.push_back(2);一、初始化构造时拷贝vector<i...原创 2020-03-19 08:43:19 · 114 阅读 · 0 评论 -
Lua操作栈c调用lua
让我们看看下面例子C++调用LUA函数的例子栈的使用情况#include "stdafx.h"int main(){ //新建一个lua状态 lua_State *pLua = luaL_newstate(); if( nullptr == pLua ) { return 0; } //得到初始化栈大小 pr...原创 2020-03-02 10:08:10 · 527 阅读 · 0 评论 -
C/C++中的结构体声明: struct 和 typedef struct 用法
结构体的常规定义与创建无 TYPEDEF 的声明方式首先常规结构体的定义,你肯定已经十分清楚:struct Person{ int age; string name;};这里Person是你声明的这个结构体的名字,即一种类型,如同int之类的。如果你想声明几个Person的变量的话有两种方式:// 1. 在声明之后立刻创建struct Person ...原创 2020-01-19 09:35:38 · 583 阅读 · 0 评论 -
C++ 内联函数
增加了 inline 关键字的函数称为“内联函数”。内联函数和普通函数的区别在于:当编译器处理调用内联函数的语句时,不会将该语句编译成函数调用的指令,而是直接将整个函数体的代码插人调用语句处,就像整个函数体在调用处被重写了一遍一样。有了内联函数,就能像调用一个函数那样方便地重复使用一段代码,而不需要付出执行函数调用的额外开销。很显然,使用内联函数会使最终可执行程序的体积增加。以时间换取空间,或增...原创 2020-01-15 10:48:30 · 93 阅读 · 0 评论 -
数据结构-二分查找
折半查找,也称二分查找,在某些情况下相比于顺序查找,使用折半查找算法的效率更高。但是该算法的使用的前提是静态查找表中的数据必须是有序的。例如,在{5,21,13,19,37,75,56,64,88 ,80,92}这个查找表使用折半查找算法查找数据之前,需要首先对该表中的数据按照所查的关键字进行排序:{5,13,19,21,37,56,64,75,80,88,92}。在折半查找之前对查找表...原创 2019-12-28 14:46:26 · 335 阅读 · 0 评论 -
cocos2d-x 2.x版本中,场景切换各方法调用顺序
假设从A场景切换到B场景,调用各场景方法的顺序为:如果没有切换效果(transition),则先调用B的init(),再调用A的onExitTransitionStart(),接着调用A的onExit(),然后调用B的onEnter(),最后调用B的onEnterTransitionFinish; 如果有切换效果(transition),则为先调用B的init(),再调用A的onExitTr...原创 2019-12-28 08:57:50 · 140 阅读 · 0 评论 -
c++ 引用笔记
我来给大家分享一下我对引用的理解:假如你被你的同学起了绰号叫"舞法少女",那么这个绰号就相当于你名字的一个引用,在同学看来,无论叫哪个都是在叫你。除此之外,若在函数中使用引用作为参数,如下实例:将 a 当实参传给函数 func,x 为函数 func 的形参且为引用,在函数 func 中 x 被赋予了新的值 3,于是 a 的值也跟着变为 3。C++之所以增加引用类型, 主要是把它作...原创 2019-12-27 08:59:32 · 106 阅读 · 0 评论 -
lua调用c,c调用lua
对于每一种可以呈现在lua中的c类型,API都有一个对应的压入函数2.检测栈中是否有足够的空间3.查询元素类型4.演示一个打印栈中所有的内容5.其他的栈操作...原创 2019-12-18 09:39:40 · 103 阅读 · 0 评论 -
c++笔记
引用必须在声明时将其初始化,不能先声明后赋值。块注释符(/*...*/)是不可以嵌套使用的。此外,我们还可以使用#if 0 ... #endif来实现注释,且可以实现嵌套,格式为:#if 0 code#endif你可以把#if 0改成#if 1来执行code的代码。这种形式对程序调试也可以帮助,测试时使用#if 1来执行测试代码,发布后...原创 2019-12-06 08:59:58 · 111 阅读 · 0 评论