I'm looking for ideas of things that I could program in order to enhance my c++ skills.
I've already written double linked list and a singleton and I must say that these greatly helped me to get used to some concepts like dynamic memory allocation, constructors, destructors.
I know that it would be best if I just tried to write whatever came to my mind, but I need some kind of "c++ 101" things that are 90% sure to teach me something new or deepen my understanding of something (my own ideas just might not be so educational and consume more time).
huch, i may just give you a few keywords because I don't know how much you allready know...
General / important to know
- const correctness
- templates / type_traits
- exception handling
classes / also important to know
- constructors & destructors
- virtual methods
- operator overloading
- template class
- inheritance
- multiple inheritance
- abstract classes
- interfaces
C style programming:
- pointers
- bitoperations
- cstring (char*) // just so you know how strings work
- (malloc / free - memory allocation)
- C style generic programming (void*)(piece of shit, templates are master race!)
Get comfortable with standard libraries / also very nice to know
- STL
- standard c-library
- new features in c++11
And with some extentions
- boost
- Qt (Also includes Gui Programming like in C#)
Some game development libraries (if you're interested)
- SFML
- SDL
- opengl
If all of these are boring:
- multithreading / concurrent programming
- Websocket Programming (make a chat client and server)
This is everything that comes to my mind atm, I hope you find something you're interested in :)
If you have a good understanding of all of them you could make a trip outside of the C/C++ world to Python/Java/C#, Webdesign with HTML/CSS/(Javascript/Php) or Databases (SQL, MySQL)