草庐IT

数量级

全部标签

c++ - 一种存储函数及其(任意类型,任意数量)参数的简洁方法

对于一个库,我希望一个函数接受另一个函数及其参数,然后将它们全部存储起来以备后用。参数必须允许任何类型的混合,但函数只需要返回void。像这样:voidmyFunc1(intarg1,floatarg2);voidmyFunc2(constchar*arg1);classDelayedCaller{...public:staticDelayedCaller*setup(Functionfunc,…);};...DelayedCaller*caller1=DelayedCaller::setup(&myFunc1,123,45.6);DelayedCaller*caller2=Delay

c++ - std::chrono::seconds 是轻量级的吗?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。这个问题似乎与helpcenter中定义的范围内的编程无关。.关闭8年前。Improvethisquestion对于嵌入式项目,我想使用std::chrono::seconds来表示超时值,尤其是出于类型安全性的原因。这要求std::chrono::seconds可以从unsignedint类型快速构造,并且按值传递必须非常快。是这样吗?

c++ - 为什么连续的 vector::push_back 会导致不同数量的构造函数调用?

classbase{private:intk;public:base(constbase&b){this->k=b.k;coutm;cout输出:firstpushbackc-ctor2ndpushbackc-ctorc-ctordestructorcalled3rdpushbackc-ctorc-ctorc-ctordestructorcalleddestructorcalled4thpushbackc-ctor5thpushbackc-ctorc-ctorc-ctorc-ctorc-ctordestructorcalleddestructorcalleddestructorcall

c++ - C++的轻量级数据库系统

我需要使用轻量级数据库,因为我的应用程序资源有限。所以我正在寻找一个可以与C++一起使用的轻量级数据库,它易于管理、检索数据速度快并且占用的资源有限。我在互联网上找到了SqlLite。但在我开始实现我的项目之前,我想就此主题征求您的建议。我们将不胜感激。 最佳答案 在我看来,您已经找到了最佳选择:SQLite.从技术上讲,您可以使用更轻巧的东西,例如具有随机文件访问权限的普通旧文件系统。但是你会错过两个关键点:轻松创建数据索引获取和操作数据的绝佳语言:SQLSQLite只会将几千字节添加到您的可执行文件中,而且它非常轻量级。另外,它

c++ - 轻量级 boost::bind

我对pass-callback-data-as-void*-struct反模式感到厌烦。Boostbind很好地解决了它,但它是一个NotAcceptable依赖项。什么是轻量级替代品?我将如何尽可能简单地自己编写它? 最佳答案 首先,我质疑您关于它太重以至于您无法使用的说法。其次,如果您需要控制行为,请滚动您自己的模板。第三,如果你害怕滚动自己的模板,我怀疑你判断boost::bind太重以至于你无法使用的能力。 关于c++-轻量级boost::bind,我们在StackOverflo

c++ - 如何使用可变模板参数保存可变数量的参数?

我想创建模板类,它可以存储函数指针和this函数的参数,以便以后可以使用this参数调用该函数。我想写这个通用的,而不是依赖于参数类型或数量。这是使用c++11的可变参数模板的想法的一部分:templateclassLazyEvaluation{private://FunctiontobeinvokedlaterT(*f)(Params...);//ParamsforfunctionfParams...storedParams;//Thislineisnotcompilable!boolevaluated;Tresult;public://Constructorremembersfun

c++ - 使用 GL_TRIANGLE_STRIP 或索引 GL_TRIANGLES 绘制动态数量的四边形是否更有效

我正在使用C++开发一个基于sprite的简单2D游戏,该游戏使用OpenGL进行硬件加速渲染,并使用SDL进行窗口管理和用户输入处理。由于它是一款2D游戏,我只需要绘制四边形,但由于Sprite的数量是动态的,我永远不能依赖于四边形的数量是恒定的。因此,我需要在每一帧通过我的VBO重新缓冲所有顶点数据(因为四边形可能比上一帧多或少,因此缓冲区的大小可能不同)。到目前为止,我的原型(prototype)程序会创建一个窗口,并允许用户使用向上和向下箭头键在对角线行中添加和删除四边形。现在我画的四边形是简单的、没有纹理的白色方block。这是我正在使用的代码(在OSX10.6.8和Ubun

c++ - C/C++ 的轻量级 OBJ 网格文件加载器?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭2个月前。Improvethisquestion我正在寻找用于C或C++的简单轻量级WavefrontOBJ网格文件读取器。(即给定一个OBJ格式的网格,从文件中读取它,并使其可访问,最好是作为顶点和三角形的列表。)建议?它不需要支持Material属性或任何其他可能存在的花哨数据-只需几何形状即可。

c++ - 查找服务器计算机中物理 CPU 插槽的数量

我有一个带有4个物理处理器插槽的系统。运行Windows2003,我想以编程方式使用C++查找套接字数。这可能吗?如果可能,怎么做? 最佳答案 对于Windows7和2008服务器,有GetActiveProcessorGroupCountfunction.但是你有2003服务器,所以它不是一个选项。在C++中,这需要编写WMI消费者代码,这是一种笨拙而乏味的(D)COM东西。一个不错的解决方案是运行systeminfo命令并解析输出,但要小心,因为输出的列标题已本地化到系统的区域设置。编辑刚刚找到了一个更好的解决方案,它使用WMI

c++ - 是否可以在 lambda 中捕获可变数量的参数?

考虑以下一组示例。函数takeOnlyVoidFunction接受一个零参数的函数并简单地执行它。takeVariableArguments函数接受可变数量的参数并使用这些参数执行函数。函数captureVariableArgs试图将第二个函数转换为第一个函数可接受的lambda形式,但它没有编译。如何使函数captureVariableArgs编译并展示将具有可变数量参数的函数转换为不带参数的闭包的正确行为?#include#includevoidtakeOnlyVoidFunction(std::functiontask){task();}templatevoidtakeVaria