0

最近,我开始使用C++使用OpenGL

我对声明顶点或更改当前颜色的方式感到恼火

glColor3f()方法glVertex{2,3,4}{sdif}()

现在,为什么OpenGL不重载这些函数。

例如,最好键入glColor()并且glVertex()它们将通过参数的数量及其类型来识别。

最终,代码看起来会更好,更容易阅读,结果相同。

我希望有充分的理由重载类似的功能。

4

1 回答 1

6

因为 OpenGL 最初是用 C 作为其 API 的主要语言设计的,而 C 不支持函数重载。


但是,引用维基百科:

尽管函数定义表面上与 C 编程语言的函数定义相似,但它们是与语言无关的。

OpenGL 总是有可能拥有一个支持函数重载和所有好东西的 C++ 接口,尽管 AFAIK 对此没有任何规范,并且大多数情况下仅支持 C++ 包装器。

于 2013-09-17T03:50:37.137 回答