草庐IT

lua_number

全部标签

c++ - ostream : prefix a positive number with a space

在C中,空格可以包含在printf格式化标志中,这会导致正数以空格为前缀。这是对齐有符号值的有用功能。我不知道如何在C++中做同样的事情。在C中:doubled=1.2;printf("%f\n",d);printf("%+f\n",d);printf("%f\n",d);产生:1.2+1.21.2使用ostream,我可以做前两个,但我如何做第三个?intd=1.2;std::cout编辑:关于我是否只想在我的所有值前加上一个空格似乎有些困惑。我只想在positive值前加上一个空格,类似于a)像printf空格标志所做的和b)类似于showpos所做的,除了空格而不是'+'。例如:

c++ - 如何将 C++ 函数公开给 lua 脚本?

我刚刚成功创建了一个lua项目。(到目前为止运行lua脚本的简单代码。)但是我现在如何使一个c++函数和一个c++变量可用于lua脚本?举个例子:intAdd(intx,inty){returnx+y;}和floatmyFloatValue=6.0我是c++的新手,所以我真的希望它不会太复杂。这是我到目前为止得到的代码:#include"stdafx.h"extern"C"{#include"lua.h"#include"lualib.h"#include"lauxlib.h"}usingnamespaceSystem;intmain(array^args){lua_State*lua

c++ - 在不执行脚本的情况下调用 Lua 函数

我正在将Lua嵌入到C/C++应用程序中。有没有办法在不先执行整个脚本的情况下从C/C++调用Lua函数?我试过这样做://callluascriptfromC/C++programluaL_loadfile(L,"hello.lua");//callluafunctionfromC/C++programlua_getglobal(L,"bar");lua_call(L,0,0);但它给了我这个:PANIC:unprotectederrorincalltoLuaAPI(attempttocallanilvalue)我只能在执行此操作时调用bar()://callluascriptfro

c++ - 数组 : Largest possible number

给定一个元素数组,找到最大可能的数字通过使用数组的元素形成。例如:109答:91023578答:785321009答:9100我知道这个问题有一个使用自定义字符串比较器的解决方案,但我不明白它是如何工作的。#include#include#include#includeusingnamespacestd;boolcompare(stringa,stringb){returnatoi((a+b).c_str())vs;strings;while(cin>>s){vs.push_back(s);}sort(vs.begin(),vs.end(),compare);for(inti=vs.s

c++ - 在 C 中存储对 lua 函数的引用

我有一个用C++实现的基本事件处理程序。我的应用程序中也有一个嵌入式Lua解释器,我需要它与事件管理器进行交互。最终目标是能够拥有一个事件处理程序,该事件处理程序将在触发事件时同时执行C++和Lua函数。我的问题是我想不出一种简单的方法来在我的C++代码中存储对lua函数的引用。我知道如何从c执行Lua函数(使用lua_getglobal和lua_pcall),但我更愿意存储对函数本身的引用,以便我可以传递一个Lua直接作用于registerListener注意假设所有Lua监听器的userdata都为NULL是可以接受的。这是我的代码:事件管理器.h#include#include#

c++ - Visual Studio 2013 中的 Lua C API 堆栈可视化器/查看器

我想知道在调试使用VisualStudio2013中的LuaCAPI的C++应用程序时是否有某种方式可以跟踪Lua堆栈。我尝试了谷歌搜索,但除了一些堆栈转储函数外什么也没找到。这对我来说可能是一个选项,但类似于为调试C++代码(例如本地、内存和监window口)提供的工具的GUI可视化器/查看器会好得多。 最佳答案 编写自己的可视化工具相对容易。我借助以下链接和更多谷歌搜索为自定义类型实现了一个:http://code.msdn.microsoft.com/windowsdesktop/Writing-graphical-debug

c++ - shared_ptr 需要完整的类型;不能与 lua_State 一起使用*

我正在为Lua编写C++/OOP包装器。我的代码是:classLuaState{boost::shared_ptrL;LuaState():L(luaL_newstate(),LuaState::CustomDeleter){}}问题是lua_State是不完整的类型,而shared_ptr构造函数需要完整的类型。我需要安全的指针共享。(有趣的是,boost文档说大多数函数不需要完整类型,但构造函数需要,所以没有办法使用它。http://www.boost.org/doc/libs/1_42_0/libs/smart_ptr/smart_ptr.htm)我能解决这个问题吗?谢谢。

c++ - 查找魔数(Magic Number) C++

魔数(MagicNumber)一个正整数是“神奇的”,当且仅当,如果它是偶数,它可以通过重复除以2或乘以3然后加1来减少到1,如果它是奇数。因此,例如,3是神奇的,因为3首先减少到10(3*3+1),然后减少到5(10/2),然后减少到16(5*3+1),然后减少到8(16/2),然后是4(8/2),然后是2(4/2),最后是1(2/2)。魔数(MagicNumber)假说指出所有正整数都是魔数(MagicNumber),或者,正式地说:∀x∈Z,MAGIC(x)其中MAGIC(x)是谓词“xismagic”。我们应该开发一个C++程序来找到从1到50亿的“魔数(MagicNumber

C++ 范围-v3 库 : 'take' -ing first 3 perfect numbers works and halts; 'take' -ing first 4 doesn't stop after 4

据我了解,range-v3库的View操作(目前需要C++17,但要成为C++20中STL的正式部分)提供了可链接的类STL算法,这些算法是延迟计算的。作为实验,我创建了以下代码来评估前4个完全数:#include#includeusingnamespacestd;intmain(intargc,char*argv[]){autoperfects=ranges::view::ints(1)|ranges::view::filter([](intx){intpsum=0;for(inty=1;y代码以可能无限范围的数字开始(ranges::view::ints(1)),但是因为View算

c++ - 在此 "number of elements"宏中添加虚拟字符的目的是什么?

VisualC++10附带stdlib.h,其中包含此gem:templatechar(*__countof_helper(UNALIGNED_CountofType(&_Array)[_SizeOfArray]))[_SizeOfArray];#define_countof(_Array)(sizeof(*__countof_helper(_Array))+0)它使用aclevertemplatetricktodeducearraysize并防止将指针传递到__countof。宏定义中+0的作用是什么?它解决了什么问题? 最佳答案