Jain. Es kommt darauf an was du programmierst. Wenn du nur Standartlibraries benutzt koennte es gehen. Wenn du allerdings die Windows-API benutzt, oder andere windowsspezifische Libraries wird es unter Linux, z.B., nicht kompilieren. Umgekehrt gilt natuerlich das gleiche.
Dabei ist es gleich welchen Kompieler du benutzt.
C++ ist nicht Plaformunabhaenig. Das war es noch nie und wird es nicht sein. C++ Programm X auf BS A muss so gut wie immer portiert werden damit es auf BS B kompliliert, laeuft.
Wenn du Platformunabhaenig sein willst, dann nimm Java. Java ist IMHO auch wesentlich einfacher und pflegeleichter, wenn man OO programmieren kann. (davon gehe ich mal aus, sonst haettest du sowieso C und nicht C++ gewaehlt)