小编Jos*_*ens的帖子

move-semantics和std :: future

我自己研究了C++ 11的特性,并认识到了移动语义,并试图将它应用于至少处理容器或"更大"对象的每个函数.现在我发现了一些我希望并行运行的任务,所以我会使用std :: future,但这些任务处理容器(在我的情况下返回一个容器).所以我有这个伪代码:

std::future<container&&> c = std::async([]()->container&&{ /* stuff return a local container object */ });
Run Code Online (Sandbox Code Playgroud)

并且知道我问自己如何控制容器rval ref的寿命?如果我是对的并且在调用c.get()之前任务已完成,则将其存储.存储的值是否仍包含可用对象?

这确保了它的寿命吗?

std::future<container> c = std::async([]()->container&&{ /* same stuff -- ^ -- */ });
container cc = std::move(c.get());
Run Code Online (Sandbox Code Playgroud)

c++ future move-semantics c++11

4
推荐指数
1
解决办法
3105
查看次数

LuaBridge不会创建正确的构造函数

我使用LuaBridge将一些类和函数移植到Lua.我正在调试,我总是得到

main.lua:1: attempt to call method 'new' (a nil value)
Run Code Online (Sandbox Code Playgroud)

这是main.lua:

v = TexVector:new( 1, 2 )
v.X = 0
v.Y = 0
print( v.X, v.Y ) -- print and explicit binded functions work
Run Code Online (Sandbox Code Playgroud)

这是TexVector的初始化代码:

luabridge::getGlobalNamespace( L ).
    beginClass< Cheap::Math::TexVector >( "TexVector" ).
        addConstructor< void (*) ( ) >( ).
        addConstructor< void (*) ( const double& , const double& ) >( ).
        addData( "X", &Cheap::Math::TexVector::X ).
        addData( "Y", &Cheap::Math::TexVector::Y ).
        addFunction( "Add", &Cheap::Math::TexVector::Add ).
        addFunction( "Sub", &Cheap::Math::TexVector::Sub ).
        addFunction( "Mul", …
Run Code Online (Sandbox Code Playgroud)

c++ lua luabridge

2
推荐指数
1
解决办法
928
查看次数

无需使用GLSL即可移至最新的OGL

我正在开发一款完全支持GL <2的上网本.这一切都在超过100fps.但是,既然我读过状态机已被弃用,我正试图移动,但这似乎是不可能的.很多函数都没有使用最新的glext.h声明.所以我无法创建着色器程序或至少是VBO.所以我尝试使用glm移动矩阵.但是通过调用glUniformMatrix*v发送一个从glm到ogl的矩阵,这里也没有声明.那么有没有办法在不使用GLSL的情况下"升级"?我不需要任何提示,我只是包括GLSL,因为它是好的和快速的等等,因为我不能使用它,我不能相信没有它是不可能的.

我使用OpenGL Extension Viewer 3检查了扩展名.报告说:
1.1 100%
1.2 100%
1.3 100%
1.4 100%
1.5 66%(不支持:GL_ARB_occlusion_query)
2.0 10%(仅支持:GL_EXT_stencil_two_side)
2.X 0%
3. X 0%
4.X 0%

c++ opengl glsl

0
推荐指数
1
解决办法
134
查看次数

标签 统计

c++ ×3

c++11 ×1

future ×1

glsl ×1

lua ×1

luabridge ×1

move-semantics ×1

opengl ×1