Recommendations on how to improve C++ knowledge

Hi all,


I have recently finished studying "C++ How to Program" and "C++ GUI Programming with Qt 4", so I think I have a basic grasp of C++.
I am interested in continuing learning more of course :), so how would you guys recommend going about it? Find a more advanced text? Or get my hands dirty in some project, in which case what would you guys recommend?

Much appreciated,

t36
What are you interested in ? GUI, Network, Math, DB, Desktop-Apps, Web-Apps... You cant be a guru in all, or develop and gain skills in all kind of apps...
Once you know that, than you may ask people for recommendations, in other words, if you are more specific, other can help you.
The old saying jack of all trades (master of none)^. Im leaning in that direction with only 2-3 years of coding. Now as for your question, personally I learned a lot of stuff from reading technical stuff, e-books on c++ from Microsoft website (completely free). You just got to do your google homework and no "how" to search for things yourself. Now in terms of GUI you can go in a few directions:

1.) you can use a pre-made library
2.) you can spent an inordinate amount of time trying to develop your own library
3.) you can use applications such as visual studio to make application specific gui.

It depends on what you want to do. Are you just making an application or are you trying to develop a library to make future applications with??

Edit:
To Answer your question in a more detailed way, I would recommend learning WINAPI and GUI events to you just to give you a picture about the "engineering" going behind every window "event" {button press, window resize, window move, minimization,maximization}. But WINAPI is very obtuse because of its general uneasyness to get in without extensive practice and research about the documentation. The c API for Winapi is so terrible imo. If you want to go into the low level graphics (OpenGl, DirectX) then it may be necessary for you to learn how a window behaves, how to create a window using only Windows functions or and a bit of ASM. If not then you will be be better off and (happier) just using a predeveloped library with classes and functions for handling the creation of GUI at a more abstracted and user friendly level.

for Ex (Windows snippet):

1
2
  HWND hWnd = CreateWindowEx( UINT, LPCSTR, LPCSTR, UINT, UINT,
                                                        INT, INT, INT,INT, HWND, UINT, HINSTANCE, LPVOID );


Thats^ 13 parameters, none of which are named or give any insight on what exactly the user (programmer) should put inside, without looking up the documentation. While looking of documentation can provide insight, it shouldn't be required for every damn function in an API library.

The real question is what do you want to do?
Last edited on
Hi,

Thanks for your replies. I just studied the Qt to get a feel of how a "real-world" C++ library work. I think I'm still far from mastering anything right now :).
Personally I'm interested in the more low-level stuff of C++, as I understand that this is what sets C++ apart from other languages like Java.
Is that more specific?

Thanks!

t36
Topic archived. No new replies allowed.