Domanda

Ho bisogno di arrivare fino a velocità con C ++ abbastanza velocemente (non ho mai usato in precedenza) - è l'apprendimento tramite Visual Studio (vale a dire Managed C ++) sta per essere qualche utilità? O posso finire per imparare le estensioni e idiosincrasie di C ++ in VS, piuttosto che il linguaggio stesso?

Se l'apprendimento in VS non è raccomandato, quale piattaforma / IDE voi ragazzi suggeriscono?

Modifica Qualcuno può elaborare su ciò che VS nasconderà o il gestore per me quando la codifica non gestito C ++? Ho davvero bisogno di essere imparare cose come puntatori, raccolta dei rifiuti e tutti i dadi e bulloni del linguaggio di basso livello .. fa VS astratta o nascondere qualsiasi di questo tipo di cose da voi?

Grazie per tutti i suggerimenti ..

È stato utile?

Soluzione

Visual Studio (o la versione gratuita, Visual C ++ espresso) è una scelta perfettamente bene su Windows. Su Linux, probabilmente finisce per utilizzare GCC. Entrambi sono compilatori sottili.

Visual C ++ supporta sia "reale" nativo C ++ e C ++ / CLI, la versione gestita .NET, quindi se volete imparare il C ++, è sufficiente creare un progetto normale C ++.

Se sei preoccupato con l'apprendimento "corretta" standard C ++, si noti che il compilatore di default permette una serie di estensioni di Microsoft, che si consiglia di disabilitare. (Proprietà del progetto -> C / C ++ -> Lingua -> disattivare le estensioni di lingua).

Per la cronaca, il GCC ha estensioni simili (che possono essere disattivate chiamando il compilatore con --ansi), quindi questo non è solo Microsoft di essere grande e il male e non standard. ;)

Altri suggerimenti

Visual Studio ha una molto buona debugger . Ha il supporto per i tipi di STL (versione 2008 è migliore) che vi aiuterà durante il debug.

Visual Studio insiste con le specifiche di Microsoft fin dal primo progetto di console si fanno (Nuovo-> Progetto-> applicazione console Win32)

// test123.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"


int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}

Che cosa è stdafx.h? Che cosa è _tmain? Che cosa è _TCHAR? (BTW non c'è bisogno di rispondere in questa sede) Si tratta di questione che non dovrebbe comparire nella testa di un novizio.

È per questo che suggerisco di utilizzare la casella di controllo "Empty progetto" nel progetto applicazione console Win32 e poi su "Aggiungi nuovo elemento" dal menu progetto e scegliere il file cpp che darà una pagina vuota in cui è possibile implementare il codice si legge da un buon libro C ++.

L'IDE di Visual Studio può essere utilizzato con diverse lingue: ad esempio C #, C ++ gestito, e anche il vero e proprio (non gestito) C ++, così:

  1. È possibile utilizzare VS per il vero C ++, non solo per la C "gestito" ++.
  2. Se si desidera solo per imparare il C ++, allora, hai ragione, non si vuole essere l'apprendimento "gestito" C ++.

Lo studio visivo non è necessariamente gestito C ++. È possibile compilare con l'opzione, ma non è necessario.

A mio parere l'apprendimento utilizzando Visual Studio è una grande opzione in quanto è possibile fare nel codice e non si preoccupano molto della configurazione del progetto.

Tutto dipende, primo passo sarebbe quello di leggere alcuni libri abbastanza, alcuni tra quelli di base, e alcuni tra quelli avanzati come efficace C ++.

Managed C ++ è una bestia molto diversa da puro C ++, oltre VS permette di programmare in puro C ++ in ogni caso. Quindi, se il vostro obiettivo è quello di imparare ++ puro C, non penso che è necessario imparare le estensioni gestite.

Puoi approfondire perché esattamente avete bisogno di imparare C ++? che tipo di progetto si dovrà lavorare su?

Visual Studio, con la sua IntelliSense e l'aiuto è un buon piattaforma per essere l'apprendimento di una lingua.

Eclipse è un ottimo IDE che funziona con molte lingue, tra cui C ++. L'Eclipse CDT può essere trovato qui: http://www.eclipse.org/cdt/

La mia esperienza personale: il mio primo tentativo di programmazione C ++ era in VS. Imparare la sintassi è stata relativamente semplice, ma alle prese con la compilazione / collega / ecc. era più doloroso fino a quando mi sono trasferito fuori dalla IDE. Questi dettagli sono in gran parte gestite per / nascoste da voi.

Detto questo, se sei un programmatore esperto, e soprattutto se il vostro obiettivo è quello di lavorare con il C ++ in VS (in un ambiente di lavoro o la scuola, per esempio), che questo è un opzione di avvio rapido praticabile.

Per C ++ mi sono abituato a Borland compilatori http://www.turboexplorer.com/ . Le differenze tra i compilatori sono nelle librerie che usano (dll e comprende, ma alcuni di loro sono standard). Ho iniziato con DevC ++ (un compilatore gratuito http://www.bloodshed.net/devcpp.html) e mi è piaciuto troppo. La lingua è la stessa. Ma la cosa migliore è di provare diversi compilatori e utilizzare quello che ti piace di più.

E la migliore per imparare C ++ sta cominciando witth applicazioni console.

Per citare MSDN sul gestito C ++:

  

estensioni gestite per C ++ è stato creato   di estendere il linguaggio C ++, permettendo   di utilizzare il .NET Framework e   indirizzare il Common Language Runtime   senza dover imparare un nuovo   linguaggio di programmazione.

Così "Managed C ++" non è altro che vi aiuterà a imparare il C ++. Inoltre, IMO il modo migliore per imparare una lingua è quello di imparare le sue basi, non alcune estensioni. Questo non è correlato al compilatore / IDE utilizzato. Mentre VS potrebbe fornire belle caratteristiche utili utilizzando un semplice editor di testo con qualsiasi linea di comando del compilatore come g ++ è troppo perfettamente bene .

Se volete imparare semplicemente C ++ e un minimo di qualsiasi altra cosa. Vorrei suggerire l'installazione di Cygwin e gcc / g ++. Il motivo per cui recoment Cygwin è la questione vi pare utilizzando Windows. In caso contrario, se si utilizza un sistema * nix tipo si dovrebbe già avere gcc.

Tutto quello che dovete fare è creare i file C ++ nel vostro editor preferito e compilare. Si dovrà ancora imparare ad usare gcc e possibilmente rendere i file (soprattutto se si stanno facendo un progetto non banale), ma che è probabilmente la configurazione minimo si potrebbe avere per l'apprendimento C ++.

Ho bisogno di arrivare fino a velocità con C ++ abbastanza velocemente (non ho mai usato in precedenza) - è l'apprendimento tramite Visual Studio (vale a dire Managed C ++) sta per essere qualche utilità? O posso finire per imparare le estensioni e idiosincrasie di C ++ in VS, piuttosto che il linguaggio stesso?

Non si deve confondere tra C ++ gestito e VS. È possibile codice non gestito (vero) C ++, anche in Visual Studio. Visual Studio è solo un IDE.

Se l'apprendimento in VS non è raccomandato, quale piattaforma / IDE voi ragazzi suggeriscono? Modifica: Chiunque può elaborare su ciò che VS nasconderà o il gestore per me quando la codifica non gestito C ++? Ho davvero bisogno di essere imparare cose come puntatori, raccolta dei rifiuti e tutti i dadi e bulloni del linguaggio di basso livello .. fa VS astratta o nascondere qualsiasi di questo tipo di cose da voi?

VS come qualsiasi altro IDE nasconderà animali, come la compilazione e le fasi di collegamento da voi. Ma non ci vorrà nascondere qualsiasi caratteristiche del linguaggio da voi. Sì, è possibile imparare i puntatori e altri animali a basso livello con VS. Non gestito C ++ non supporta la raccolta dei rifiuti. Ma se sei un principiante e non siete di fretta, quindi il modo migliore è quello di prendere un editor di testo, un compilatore e un debugger e il codice. g ++, gdb e emacs / vi sarà una sostituzione meglio VS principianti. Sarà effettivamente sentire come le cose vengono compilati, collegati e, infine, un binario è fatto. Ma ci vorrà tempo e può richiedere una guida per essere all'altezza con gli strumenti. Con VS si può essere installato in pochi minuti. Se il vostro obiettivo è quello di imparare la sintassi e le caratteristiche linguaggio C ++, poi andare avanti fare un nuovo progetto vuoto VC ++ in VS e il codice.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top