According to the additional informations that you gave to us you are clearly talking about the support and what are the options for the C++ under linux.
Regarding your statement "you have to write code differently" it's not like that, it depends on what libraries you are using and in general on what is the solution that you are adopting, but the language itself is supported in almost every platform, desktop and mobile included; the libraries and your code, if you write them in the right way maybe they can be fully portable too ... portability is a big topic in C++. GCC supports the latest version of C++ so you have all the options available.
If you want to start with programming and with the C++ there are 2 links that can be helpful for you:
https://stackoverflow.com/questions/194812/list-of-freely-available-programming-books
https://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list