In my view, C++ is a dead end. There is no way of getting rid of it because too much software has been written in it (or C, which is accessible easily from C++) and the alternatives are not wide-spread or have other disadvantages, but there also aren't many possibilities left to repair C++'s deficits.
C++ never had a clean design, but was originally designed to be a object-oriented extension of C. Therefore it always had to be a real superset of C and couldn't repair any C design faults.
And whenever Stroustrup discovered that he had made another mistake and reached another dead end, he hardly ever repaired something that was broken by design, but added another, new feature to the language that wasn't a full replacement for the broken features, worked in some cases where the first solution didn't, but had different disadvantages.
The result is a language that has got a complexity that overburdens most programmers using it, with some of them being aware of that fact and most beliving that so many errors are "normal" in computer programming. Therefore there can't be much more to come because it is difficult to build larger systems in C++ than done today.
Most tries to improve C++, like boost (a possible future C++ standard library) keep repeating the mistakes already made in the current library (fragility, missing naming conventions, ...), adding more complexity to the language. It is also impossible to repair current deficits because it would break backwards compatibility.
Don't get me wrong, I do programming for a living, most of it being C and C++, but I've also worked with loads of other languages and environments, e.g. Delphi (Object Pascal), for years and can compare. I make good money with C and C++ programming, more than I would get for most Delphi or Java jobs, and I believe that this is the case because not many people are able to write software in these C languages that works reliably (well, at least most of the time ;-)).
If it is desired to extend C in an object-oriented way (which doesn't answer the question if this is desirable at all because C already has enough disadvantages), it should be done like NeXt (now Apple) did with Objective C.