I'm not sure of the vocabulary here, but hopefully I can make myself understood.
As I'm working through the winapi with a less-than-rock-solid knowledge of C++, I find a lot of typedef stuff that, for me, seems to overcomplicate the issue and add one more thing I have to remember.
For example, UINT
instead of unsigned int
, HBITMAP
which turns out is just a HANDLE
, and lots of others.
My question is, can / should I substitute the more generic version of the type when possible, and just cast it down when it's needed (and, what's this called)?
For example, I'd like to write
void SomeFunction(unsigned int some_int) { ... }
instead ofvoid SomeFunction(UINT some_int) { ... }
HANDLE hBMP = LoadImage(...); ImageList_Add(... (HBITMAP) hBMP ...);
instead ofHBITMAP hBMP = ...
Is this good for newcomers, bad practice in general, or what?