C++
forestsenlin
这个作者很懒,什么都没留下…
展开
-
使用二叉树获取字符串的最大子串
**使用二叉树获取字符串的最大子串**在获取一个随机字符串的最大子串问题上,我想到可以用二叉树来解决这个问题,因为二叉树在插入元素时按左小右大来,如果将字符串每个字符插入二叉树,那么所有右子树的根节点组成的字符串就是最大的子串。以下使用代码验证这个思路。如果有错误的地方请多多指教。谢谢。首先,比如有个字符串是 ETCFGABD ,那么重后往前插入二叉树,以字符串最后一个字符为树根。这样就得到一个二叉树如下图所示:这个二叉树的所有右子树的根节点组成的子串是 TGD 就是 最大子串。以下是代码实原创 2020-06-17 14:58:49 · 366 阅读 · 0 评论 -
编写C模块供Lua使用
在Lua的源码linit.c中增加如下代码static int showRlt1(lua_State* L);static int showRlt2(lua_State* L); // 另一种注册方式 static const luaL_Reg mylibs[] = { {"showRlt1",showRlt1}, {"showRlt2",showRl转载 2016-07-21 21:33:03 · 789 阅读 · 0 评论 -
使用C++委托实现全方向的摇杆
1.摇杆类//// Rocker.hpp// Rocker//// Created by Forest on 16/7/11.////#ifndef Rocker_hpp#define Rocker_hpp#include <stdio.h>#include "cocos2d.h"USING_NS_CC;class Rocker;class RockerDelegate{pu原创 2016-07-28 21:24:26 · 1598 阅读 · 1 评论 -
Lua调用C/C++函数
//// main.cpp// LuaAndCpp//#include <iostream>static int lua_getName(lua_State* L){ lua_pushstring(L, "string from c"); std::cout << "lua call c function \n" ; return 1;}static int showO转载 2016-07-18 21:00:23 · 502 阅读 · 0 评论 -
利用C++11新特性重构自定义Button
使用C++11一些新特性将上篇的自定义Button重构//// CustomButton.h// CustomButton//// Created by Forest on 16/5/6.////#ifndef __CustomButton__CustomButton__#define __CustomButton__CustomButton__#include <stdio.h原创 2016-07-27 21:33:35 · 1025 阅读 · 0 评论 -
C/C++读取Lua中的变量及调用Lua函数
config.luaprint('--In Lua--')local a = -10print('--math.abs(a)--',math.abs(a))width = 1080height = 720name = "iphone"numStr = 12345function test1() print('--function test1--')endfunction test2(转载 2016-07-06 18:16:05 · 5572 阅读 · 0 评论 -
用C++函数指针封装自定义的Button
自定义Button类://// CustomButton.h// fun_point_button//// Created by Forest on 16/4/28.////#ifndef __fun_point_button__CustomButton__#define __fun_point_button__CustomButton__#include <stdio.h>#原创 2016-07-26 22:08:20 · 1292 阅读 · 0 评论 -
在C/C++项目中接入LuaSQLite3
首先需要 这3个文件,lsqlite3.c下载地址: 这里写链接内容 sqlite3.c和sqlite3.h下载地址: 这里写链接内容将这3个文件导入到项目中,并增加一个头文件lsqlite3.h, //// lsqlite3.h// LuaAndCpp//#ifndef lsqlite3_h#define lsqlite3_hint luaopen_lsqlite3(lu转载 2016-07-25 21:43:02 · 675 阅读 · 0 评论 -
在C/C++项目中集成Lua
1.下载Lua源码,本文使用的是Lua-5.2.3,然后拷贝src下的源码,需要将lua.c、luac.c、Makefile文件删除。2.将Lua源码引入C/C++项目中。编译没有问题。在安卓平台编译错误的解决方法:找到Lua源码中的llex.c,将函数static void trydecpoint (LexState *ls, SemInfo *seminfo) { char old = ls转载 2016-06-28 20:58:44 · 2713 阅读 · 0 评论 -
C/C++遍历Lua中的table
config.luatest_table = { name = 'app', age = 13}//// LuaEngine.h// LuaAndCpp//#ifndef __LuaAndCpp__LuaEngine__#define __LuaAndCpp__LuaEngine__#include <stdio.h>#include <iostream>#incl转载 2016-07-11 19:59:33 · 2066 阅读 · 0 评论 -
Lambda表达式示例
一、声明 Lambda 表达式 示例 1 由于 lambda 表达式已类型化,所以你可以将其指派给 auto 变量或 function 对象。#include <functional>#include <iostream>int main(){ using namespace std; // Assign the lambda expression that adds two转载 2016-04-28 20:51:57 · 1241 阅读 · 0 评论 -
函数对象与Lambda
你编写代码时,尤其是使用STL算法时,可能会使用函数指针和函数对象来解决问题和执行计算。函数指针和函数对象各有利弊。例如,函数指针具有最低的语法开销,但不保持范围内的状态,函数对象可保持状态,但需要类定义的语法开销。lambda结合了函数指针和函数对象的优点并避免其缺点。lambda与函数对象相似的是灵活并且可以保持状态,但不同的是其简洁的语法不需要显式类定义。使用lambda,相比等效的函数对象代转载 2016-04-27 20:16:37 · 705 阅读 · 0 评论 -
C++中的Lambda表达式
在C++11中,lambda表达式(通常称为”lambda”)是一种在被调用的位置或作为参数传递给函数的位置定义匿名函数对象的简便方法。Lambda 通常用于封装传递给算法或异步方法的少量代码行。Lambda表达式的各部分 1. Capture子句(在C++规范中也称为lambda引导) 2. 参数列表(可选)。(也称为lambda声明符) 3. 可变规范(可选)。 4. 异常规范(可选转载 2016-04-26 21:21:37 · 2106 阅读 · 0 评论