小编use*_*739的帖子

Doom 3 source:为什么表示2向量的类会重载下标运算符两次?

我想我会通过查看最近发布的Doom 3源代码来尝试增强我的C++和OpenGL.到目前为止学到的很多,但我已经碰壁了.这里详述的课程有方法

float  operator[] (int index) const  
Run Code Online (Sandbox Code Playgroud)

float &  operator[] (int index) 
Run Code Online (Sandbox Code Playgroud)

他们的身体都读了

return ( &x )[ index ];
Run Code Online (Sandbox Code Playgroud)

where x是一个类'两个数据成员(另一个是y;这个类是2向量).

虽然我可以理解每个版本的标题/原型的语法,但我不明白为什么它们都存在.

const似乎出现(或不出现,作为首选)只是为了充分区分标题以允许编译.(也就是说,删除const和VS2010拒绝编译,类似的,如果两个标题结束const.)

为什么要将ref返回浮动?这个类中没有其他七种浮点型方法可以做到这一点,所以我猜测效率不是一个因素(因为这个运算符可能比其他运算符更频繁地被称为).

欣赏有关这里发生的事情的任何见解......

c++ const operator-overloading

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

标签 统计

c++ ×1

const ×1

operator-overloading ×1