Question

À mon université et la plupart de mes classes ont été en Java.J'ai aussi appris récemment C# (et de l'environnement Visual Studio) à un stage d'été.Maintenant, je vais prendre une Intro à l'Ordinateur de la classe Graphics et l'étudiant diplômé de l'enseignement de la classe préfère nous d'utiliser C++ pour accéder à l'OpenGL liaisons via GLUT.

Quelqu'un at-il de bonnes ressources sur la façon de faire une bonne transition de Java/C# C++?Évidemment, les pointeurs sont va être un gros problème, mais toutes les autres choses que je devrais être à la recherche dehors pour?Tout les tutoriels, guides, etc.serait très utile!

Merci!

Était-ce utile?

La solution

Ouais, j'ai eu un peu par la même bug.L'université a tendance à se pencher sur l'île de Java, et puis vous a permis de choisir la langue que vous avez voulu travailler avec lors de projets.

La meilleure façon est de simplement sauter dans.Commencez petit, prendre des mesures pour bébés, et il suffit de Google, les choses que vous confondre quand vous y arrivez.Également trouver des projets qui ont sorti leur code source.Voir comment ils structurent leurs programmes.Au fond, juste de bricoler avec des concepts.Il y a beaucoup d'informations à travers le web.

Amusez-vous et prenez un C++ le développement d'un jeu livre afin de ne pas devenir abrutissante trop rapidement.

Voici quelques endroits que j'ai trouvé utile lors de l'apprentissage

http://www.cprogramming.com/

http://www.wikipedia.com

http://www.cplusplus.com/

Autres conseils

Si vous connaissez déjà Java/C# je vous conseille d'aller directement à la C au lieu de C++.Selon le site web, GLUT a les mêmes fixations pour le C que le C++, donc vous devriez être tous ensemble.De toute façon, la meilleure façon d'apprendre le C, c'est d'acheter et de lire un exemplaire de "The C Programming Language" et de s'asseoir avec votre compilateur C et obtenir vos trucs pour fonctionner.

Effective C++ par Scott Meyers est un grand livre pour vous aider à apprendre le C++.Vous donne un aperçu de la langue et introduit beaucoup de concepts-clés que vous allez utiliser tout au long de l'élaboration de tout programme C++.

Effective C++ par Scott Meyers est un grand livre pour vous aider à apprendre le C++.Vous donne un aperçu de la langue et introduit beaucoup de concepts-clés que vous allez utiliser tout au long de l'élaboration de tout programme C++.

J'adore ce livre à tous les 3 éditions, et il a été l'un des livres dans une classe que j'ai eu comme un aîné à l'UT, mais c'est juste pas un départ du livre.Vous pouvez devenir à l'aise en C++ avec beaucoup moins, mais vous ne sera certainement pas l'un avec le compilateur jusqu'à ce que vous avez lu Meyer travail.

Je ne sais pas si c'est encore en cours d'impression, mais j'ai trouvé La Navigation C++ utile, mais j'ai été également très à l'aise avec les pointeurs de Pascal.Tre bien sûr, je suis en oubliant qu'il y a 15 ans que vous avez dû apprendre ce que la programmation orientée objet a été, maintenant c'est un peu plus assumé.Alors peut-être que Meyer n'est pas hors de la ligne.Pensées?

Wikipedia a un article sur les comparaisons entre Java et C++.

Vous n'avez pas à vous inquiéter concernant les exceptions en C++, mais vous avez besoin de savoir sur const correctness.

Il y a deux différences principales:la syntaxe, et de la gestion de la mémoire.

En C++, vous avez des pointeurs, qui sont de plus en plus puissants (ou moins puissant en fonction de votre interprétation de puissance) les références de l'objet, que vous savez déjà à propos de Java.

En Java, vous pourriez faire ceci:

Thing mything = new Thing(); // mything is an object reference
mything.method();

En C++, vous voulez faire cela:

Thing * mything = new Thing(); // mything is an object pointer
mything->method();
delete mything;

La syntaxe différence est évidente:'->' au lieu de '.' lors de l'appel d'une méthode d'objet à partir d'un pointeur à un objet.En C++, vous devez libérer la mémoire explicite lorsque vous avez terminé avec un objet.À la fin de la journée, vous faites la même chose en C++ et Java, l'instanciation d'objets et de méthodes d'appel, inutile de mettre des points-virgules à la fin de chaque ligne, etc.Est-il étonnant que Python est-il si populaire?:

mything = Thing() # mything is whatever I want it to be
mything.method()

L'écrémage par une demi décent C++ texte va vous aider à remplir le reste des détails.

J'ai aussi recommandons de Bruce Eckel de l' Penser en C++.Un livre fantastique pour déjà connu des programmeurs qui veulent se lancer dans le C++ état d'esprit.

Il est assez gentil pour faire des versions électroniques de ses livres disponible gratuitement.

Je recommande fortement que quiconque l'apprentissage de C++ lit Stroustrups "Le Langage de Programmation C++." Meyers et Eckel ont des trucs super, mais rien ne vaut l'apprentissage par le gars qui a décidé de ce que la langue doit être et comment il était destiné à être utilisé.

J'ai eu exactement le même problème.Le seul livre que j'ai pu trouver était "Pro Visual C++ 2005 pour les Développeurs C#" par le Doyen C.Les testaments.C'est une bonne lecture avec d'excellents exemples, et je pense que l'angle à partir duquel le livre vient est probablement ce que vous cherchez.

Vous aurez besoin d'un complètement différent de sentiment pour la gestion de la mémoire.Pensez également à libérer tout ce que vous n'avez pas besoin de plus.En Java et C# vous simplement laisser aller de vos objets et de la mémoire tidy up pour vous - vous ne pouvez pas le faire en RPC

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top