Rhino wrote:
> I am giving some thought to applying for some jobs that want people
with
> Java and C++ experience.

If you don't know C++ now, it is probably to late to learn it for a job
where you need to know it which is already advertised: even if you are
fluent in another programming language, it will take some time to get
fluent in *reasonable* C++, too. The thing is that in C++ you are doing
things quite differently than in Java. Actually, I'd say that the only
relation between Java and C++ is that they share a similar syntax. This
is actually rather unhelpful: the relevant foundation (the underlying
object model) of C++ does not share anything with Java's counterpart.
Essentially, C++ is value-based while Java is pointer-based (call the
Java pointers "references" if you want to but they are actually just
pointers; from a C++ perspective Java's pointers add garbage collection
but lack pointer arithmetic). The consequences are actually quite
dramatic. In particular, approaches which work reasonable in Java (I
don't think there is anything which works "well" in Java at all due to
limitations inherent in Java's design), will probably not work in C++
(... and what works well in C++ will almost certainly not be workable
at all in Java). The consequence is that you will have to unlearn many
habits of Java programming when you have your C++ hat on. It is also
very important that C++ is not an object-oriented language: it support
object-orientation but it also supports other paradigms e.g.
procedural and generic programming.

As a recommondation how to learn C++ with knowledge in another
language,
I would recommend to read and understand the following books for a
headstart in the given order:

These three books are, IMO, essential to learning C++. These mostly
address the core language but it is also important to understand the
standard library, in particular the portion refered to as "STL"
(which is actually about "concepts": these concepts are used to realize
highly efficient algorithms in terms of iterators accessing containers;
many people, errorneously take exactly the opposite perspective putting
containers at the heart and consequently don't understand what STL is
all about). There is no book I'm aware of which is the single most
appropriate and complete book covering the language but these are a
good choice to learn about it:

Somebody in this thread mentioned that about a week would do to learn
C++. Well, after that time you will be able to create programs which
do what you want but probably only for relatively minor tasks. To be
ready for real production development I'd rather estimate at least
half a year of relatively instensive working with C++. Of course, I'd
expect something like this to become comfortable and accustomed to
the language specific idioms for other languages, too.