Prima di tutto, secondo me come un principiante il vostro ambiente di sviluppo (IDE) conta molto più del compilatore.
penso che la gente posto troppa enfasi sulla scelta del compilatore nella fase iniziale. Sebbene non sia Java, C++ è pensato per essere portabile.
Se il programma che si sta scrivendo funziona solo con compilatori specifici, probabilmente stai facendo la cosa sbagliata o può lavorare un po 'sul rendendolo più portabile.
Se arrivi a un punto in cui la scelta del compilatore ha un impatto significativo sulle prestazioni per te, hai già perfezionato tutto il resto del programma e sei in buono stato e anche le tue capacità sono abbastanza avanzate. Abbiamo insegnato le differenze tra i compilatori in fasi abbastanza avanzate nel curriculum CS.
Se si utilizza una macchina basata su UNIX (Linux, Mac, Linux reale), quindi praticamente GNU (g ++) è la strada da percorrere ed è abbastanza più o meno standard. Se è abbastanza buono da compilare il tuo sistema operativo, probabilmente è abbastanza buono per te. Su un Mac puoi usare XCode come IDE e si interfaccia bene con g ++. Su Linux, alcune persone preferiscono gli strumenti a riga di comando, anche se potrebbe piacerti il supporto Eclipse C++, oggi è molto meglio di quanto non fosse 3-4 anni fa.
Le cose su Windows sono più complicate. Se puoi permetterti, avere accesso a, o essere idoneo per una delle edizioni gratuite (ad esempio, tramite una scuola), penso che gli ambienti Microsoft Visual C++ (o qualsiasi altra cosa siano chiamati ora) siano abbastanza buoni per l'apprendimento e che siano usato in produzione. Penso che in realtà ci sia uno studio visivo leggero con un'enfasi sul C++ che potrebbe essere un buon inizio. Se non lo fai, puoi probabilmente trovare una distribuzione di Eclipse specifica per C++ e include un'implementazione dei compilatori GNU.
iPhone -> gcc e LLVM sono le uniche scelte. – kennytm
se si prevede di pubblicare app per iPhone nell'appstore di Apple XCode e Objective-C sono le uniche alternative supportate. – jnoss
Non sapevo che avresti potuto sviluppare legalmente applicazioni iPhone su telefoni non jailbroken in C++. Avevo l'impressione che fosse necessario l'obiettivo C. – Uri