【发布时间】:2013-07-31 22:57:24
【问题描述】:
我知道这个长字符串可以更容易阅读,但我不希望这样!
我想获得一个像素的颜色,我正在使用 SDL。虽然这与问题不太相关......
http://www.gamedev.net/topic/502040-sdl-get-pixel-color/
http://www.libsdl.org/docs/html/sdlsurface.html
表明要获得此颜色值,您可以:
Uint32 *pixels = (Uint32 *)surface->pixels;
return pixels[ number ];
好吧,我没有那样的东西,我还想尝试掌握整个运算符优先级的东西..
我已经尝试了一些,但我无法让它与最后一个 [] 运算符一起使用。
所以...我明白了:
vector<Class*>* pointer_To_A_Vector_With_Pointers;
Class.h:
vector<Class2*>* get_Another_Vector();
Class2.h
SDL_Surface* sdlSurface;
SDL_Surface.h
has the pixels-array
Uint32 value = *(Uint32*) (* pointer_To_A_Vector_With__Pointers[i]->get_Another_Vector() )[i2]->sdlSurface->pixels;
应该相当于这样说:
Uint32 *pixels = (Uint32 *)surface->pixels;
它可以工作,但只检索像素数组的第一种颜色。但我想实现这一点(行尾的 [number] ):
Uint32 value = *(Uint32*) (* pointer_To_A_Vector_With__Pointers[i]->get_Another_Vector() )[i2]->sdlSurface->pixels[ number ];
换句话说,我希望包含最后一个 operator[] sdlSurface->pixels[numbers] 。
【问题讨论】:
标签: c++ pointers operator-keyword operator-precedence