Just wondering what are all the basics I should know before getting into sdl. As of now, i have a basic understanding of loops, arrays, input/out, conditional statements, variables, functions. What all should i know before getting into sdl or any gui programming?
Oh yea i do understand classes, scopes, recursion and pointers kinda. Even though i do understand these, putting them to use is a whole another story. I don't really know how to use these practically. Is there a list of project ideas somewhere that starts out really easy and get progressively harder? I have been reading a lot and typing the examples of the code in the books but I need actual coding experience and I cant seem to think up of any projects myself. When i do come up with something, all i use is input/out, variables, loops, and LOTS of conditions so i know I'm really comfortable with those.
I am just starting to learn java swing for GUI's atm. I think that before you start programming in GUI's in C++ you should have a good understanding of dynamic memory allocation, pointers, and inheritance because I have looked at programming gui's in c++ with win32 and QT and they use pointers and inheritance so it is very important you know what your looking at so it doesn't look so foriegn.
Well, you don't really need to know much about classes or anything much to be able to use SDL - it is fairly simple. You need to at least understand them, to a lesser extent, as in how a pointer works, how to call a method in a class, etc. My recommendation is find a good tutorial and just try it out! Then, if you find something you don't understand, you can specifically learn that concept.
Also, I've never found a need for recursion (except with metaprogramming, but thats something different altogether). Most of the time, it can be done more read-ably and more efficiently with a simply loop.
In addition, try to avoid things like the WinAPI if you can help it - it isn't the most sensible or helpful thing to program with. On the other hand, I highly recommend Qt if you want to get into GUI programming.