I've been coding C++ for a while now (well I've learned it and made a few useful programs in it), so I would consider myself to know C++ fairly well.
What I'm having some trouble with is the non-coding aspects of it, since I've just been teaching myself from the internet, I've learned most of the basics of C++, but haven't really learned much about designing programs, and choosing how to best go about programming them.
Is there any sources you could recommend to learn about designing programs, good and bad programming practise, useful techniques (such as RAII) etc... Preferably something relevant to C++ (as in it deals with Object-oriented programming etc..)
I could of course search myself, but a lot of the sources I find seems to contradict each other, so I figure you guys would know more than me about where to get the best information about it. So if anyone has any good links I'd appreciate it.
I would prefer e-books since it might be hard for me to get books on it, but if there's any books which a lot of people consider to be very good I can always try to get it.