最近,我开始使用 C ++ 使用 OpenGL 。
我对宣布顶点或更改当前颜色
的方式感到恼火 glColor3f()
和glVertex{2,3,4}{sdif}()
方法。
现在, OpenGL 为什么不重载这些功能。
例如,最好输入glColor()
和glVertex()
,它们将被参数数量及其类型识别。
最终,代码看起来会更好,更容易阅读,结果相同。
我希望有一个很好的理由不重载类似的功能。
答案 0 :(得分:5)
因为OpenGL最初设计时使用C作为其API的主要语言,而C不支持函数重载。
然而,请引用维基百科:
虽然功能定义表面上与那些相似 在C编程语言中,它们与语言无关。
OpenGL总是可以拥有一个支持函数重载的C ++接口和所有好东西,虽然AFAIK上没有任何规范,并且大多数只支持C ++包装器。