我有一個結構數組,我做了一個指向結構中第一個元素的指針。我看到++
運算符正在我的代碼中使用,如下所示:ptrStruct++
,這到底是什麼意思?轉到下一個陣列位置?或者它被用作運算符重載?++操作符在指針中的行爲
代碼在這裏,且對象均是從OGRE3D:
RGBA colours[nVertices];
RGBA *pColour = colours;
rs->convertColourValue(ColourValue(1.0,0.0,0.0), pColour++); //0 colour
rs->convertColourValue(ColourValue(1.0,1.0,0.0), pColour++); //1 colour
rs->convertColourValue(ColourValue(0.0,1.0,0.0), pColour++); //2 colour
你明白了,進入下一個陣列位置。 ++總是在指針上做這件事,你不能爲指針重載++。 – john 2013-04-24 05:39:20
它將遞增到數組中包含的下一個存儲器地址。實際上,'address + sizeof(array [0])'。 – Yuushi 2013-04-24 05:39:51
@Yuushi我認爲這是值得我回復的答案。 – Jace 2013-04-24 05:40:22