我知道這個長的字符串可以變得更容易閱讀,但我不想這麼做!C++和運算符優先級
我想獲取像素的顏色,並使用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 ];
嗯,我沒有它就是這樣,我也想嘗試和掌握整個運營商的優先事項..
我試了一下,但我不能讓我t與最後一個[]運算符一起工作。
所以...我得到這個:
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;
它的工作原理,但只檢索像素陣列的第一個顏色。但我想做到這一點(在該行的最後的[數字]):
Uint32 value = *(Uint32*) (* pointer_To_A_Vector_With__Pointers[i]->get_Another_Vector() )[i2]->sdlSurface->pixels[ number ];
換句話說,我希望最後的operator [],sdlSurface->pixels[numbers]
,包括在內。
你去了哪裏:http://en.cppreference.com/w/cpp/language/operator_precedence – Shlublu