I just recently finished my first year of University. So far, I have spent one semester learning C++ and one semester learning Java... Problem is, I really don't feel that I know either well at all (I really wish we would've stuck with C++ and actually learned it...).
Anyway, I am looking at re-learning C++ in more detail (looking at maybe screwing around with some basic game design). I have been reading around, and it seems that a lot of people recommend these books:
C++ Primer, by Lippman
Accelerated C++, by Koenig
I am thinking about getting both, but I see that Accelerated C++ was published back in 2000. Is it still up-to-date with current practices?
Sometimes it is very useful to read old books on the language. For example I am reading now "C# Concisely" by J.Bishop and M. Horspool and I found out their project Views.:)
Despite being published 13 years ago, it still has a more modern approach to teaching C++ than most tutorial books I've read, in that, right from the start, it teaches people to use STL containers and other modern C++ constructs, rather than teaching people to use C-style arrays and treating container classes like some obscure advanced topic for experts.
(This is based on briefly skimming through a copy of the book 3 or 4 years ago. Apologies if I'm misremembering, or am giving a misleading impression of the book.)
I have both books, although I haven't really gotten into Accelerated C++ just yet (about 50 pages in). It's a friendlier read compared to the blandness of C++ Primer. But it is just 300 pages long, not sure how much they can cover in that span. Aside for not having C++11 elements (and advice on best practice in using them), I'm guessing their teaching of general coding practice should still be up to standards considering C++11 is the only change since then and now for the language.
On another potentially nonsensical note, with Primer you get 3 professional authors working on it, and since Barbara E.Moo is a co-author on both books, you get a 2 vs 1 situation of different perspective content spanning more than 500 pages!
Seriously though, just screening through their table of content it's pretty similar. If you can afford it it is a good idea to read Accelerated C++ any way for the reason vlad has pointed out. Could be like an accelerated refresher of what you've learnt.
Like others have written - it does not cover c++11 - but that does not really matter as the fundamentals of OO programming it teaches remain the same. C++11 features are not fully implemented for my g++ / clang linux system in any case. You can't use regex in C++11 for example!
From what I can see (but im only a novice) C++11 only adds some useful 'scented flowers' (such as in class initialisers) around the core of c++.
So to answer your question Accelerated C++ is as useful as it has always been.