Having said that, the "modern" stack is definitely safer. The C++ market is great for really awesome, technical people, but there's not that many offers for people who are average. With modern tech it's the other way around - it is generally easier to use so there's less need for awesome people (which can make it boring if you are very talented), but it's very safe (in terms of job security) for average people. Also, in the C/C++ world you'll be competing against guys who've been building up their domain knowledge for 20-30 years...
My story is that I went with the safe side and my salary and working conditions are excellent now. The jobs themselves are completely uninspiring though. On the other hand, I'm not sure if I had the mental firepower to be a really great c++ programmer (say, senior engine programmer at a game company), as I get tired rather easily. So, even now (10+ years into my career), I'm not sure if I made the right call.
Re: London, it's huge, feels old/dirty (when I touch a building's wall, I wonder how many hundreds of people and dogs have pissed on that spot in the past), crowded and absurdly expensive. On the other hand, it is great for job hopping, so it might be wise to stay there in the formative years of your career.