小编cor*_*sel的帖子

GNU 标准库命名约定

当我查看 GNU 库的实现(好吧,主要是 libstdc++)时,我可以看到命名中有重复出现的模式。模板类型被命名_Tp,成员有前缀_M_,一些标记有双下划线等。我试图找到有关命名约定的文档,但无济于事。GNU 有一个样式指南,它也在代码中遵循,但更像是这个命名约定的一个子集。

你知道关于 GNU gcc 库实现的样式细节的任何文档吗?

提前致谢。

gcc gnu styling libstdc++

5
推荐指数
1
解决办法
720
查看次数

log(n)std :: find_if可能吗?

我将定义一个类并使用一个容器(可能std::set)与自定义比较器函数(基本上,类成员变量的原始整数比较).我想知道我是否可以以某种方式保持这个设置std::sort并使用std::find_if对数性能而不是天真的线性搜索.

提前致谢.

c++ algorithm search stl

3
推荐指数
1
解决办法
354
查看次数

OpenGL显示列表是否烘焙glVertex数据?

我一直在简单的立即模式下使用OpenGL,并尝试使用显示列表传递给保留模式(我遗憾地了解到它已被弃用了一段时间).我想知道的是,当我输入时:

glNewList(list, GL_COMPILE);
glBegin(GL_TRIANGLE_FAN);
    glVertex2f(0.0f, 0.0f);
    for (int i = 0; i < 10; i++)
    {
        glVertex2f(radius * cos(i * 2.0f * PI / 9.0f), radius * sin(i * 2.0f * PI / 9.0f));
    }
glEnd();
glEndList();
Run Code Online (Sandbox Code Playgroud)

OpenGL预先计算for循环中的所有10个顶点并将它们发送到烘焙的图形卡,如:

glVertex2f(0.5f, 0.0f);
glVertex2f(0.499f, 0.0055f);
//so and so forth 10 times...
Run Code Online (Sandbox Code Playgroud)

或者它是否尝试为每个帧完成for循环(以及许多sin/cos操作)?换句话说,在显示列表中存储这样的圆形形状是合理的(并且使用glTranslatef,glRotatef等来完成其余的工作......)以避免每次帧更新中的三角运算,或者根本没有性能增益?

编辑:为避免混淆,我打算使用for循环创建此显示列表,然后在每次帧更新(即glutDisplayFunc())中通过glCallList(list)调用它.我没有为每一帧创建一个列表.

c++ opengl obsolete displaylist

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

标签 统计

c++ ×2

algorithm ×1

displaylist ×1

gcc ×1

gnu ×1

libstdc++ ×1

obsolete ×1

opengl ×1

search ×1

stl ×1

styling ×1