Question

La dernière fois que je fortement utilisé C ++ était il y a quelques années, et il a été strictement fait sur la plate-forme Windows. Plus précisément, je Microsoft Visual Studio comme mon IDE et développé quelques modèles habituels pour utiliser la version de Microsoft C ++. Par exemple, je main () vide au lieu de la norme int main () .

Maintenant, je prends une classe où il est nécessaire d'élaborer des programmes pour être ANSI C ++ compatible et le code sera compilé en utilisant g ++. J'ai vite appris que système ( "PAUSE") ne fonctionne pas en g ++ et est probablement une chose Microsoft.

Quelqu'un sait-il de toutes les bonnes ressources (sites, des tutoriels, des livres) où je peux apprendre ce que plus d'être mieux ANSI C ++ plainte?

Merci.

Était-ce utile?

La solution

Je recommande fortement ces deux:

  • comp.lang.c ++ groupe de discussion Usenet. Si vous pouvez mettre la main sur un bon fournisseur de services Usenet, et utiliser un lecteur de nouvelles, vous devriez être en mesure de se débarrasser du spam. J'utilise eternal-september.org , et comme beaucoup.
  • Lire la C ++ FAQ . Il a un grand nombre d'informations.

Certes, ils ont tous deux ne sont pas très bien si vous voulez un tutoriel d'introduction à C ++, mais ressemble à vous le savez déjà quelques C ++, et ont besoin d'en savoir plus et de bonnes habitudes mauvaises. D'après mon expérience personnelle, les deux ci-dessus sont très utiles pour faire exactement cela.

A propos de comp.lang.c++, assurez-vous bien lire leur FAQ et se cachent là un moment avant de poster. De même pour stackoverflow bien sûr, bien que Tapi ne soit pas nécessaire ici.

Utilisation g++, compiler vos programmes avec g++ -ansi -pedantic -Wall -Wextra -Weffc++, et assurez-vous de comprendre toutes les mises en garde. J'utilise:

g++ -Wextra -Wall -Weffc++ -ansi -pedantic -Woverloaded-virtual \
-Wcast-align -Wpointer-arith

Autres conseils

Si vous utilisez g ++, puis compiler avec l'-pedantic et -std = c ++ 98 drapeaux. La seule norme ANSI C ++ est vraiment le document ISO standard, qui ne peut être recommandé à un débutant. Vous vous trompez sur le système ( « PAUSE »), par la voie - système () fait partie de la norme ANSI C ++ - il est paramètre cependant pas standardisé,

.

La plupart des C ++ livres seront la plate-forme agnostique (bien sûr si elles sont faites spécifiquement pour Visual C ++). Voici quelques bons livres qui sont recommandés par les pros sur ## C ++

GCC fera un bon travail de vous dire quand votre code n'est pas ISO C ++ compatible (pas que ce soit une norme ISO, pas une norme ANSI). Définissez les options d'avertissement -Werror -Wall, et simplement corriger tous les avertissements; vous obtenez bientôt des habitudes non conformes et ger de moins en moins d'avertissements.

Il y a beaucoup de gcc bonne tutoriels, a un drapeau qui fera que le code est ANSI C conforme aussi gcc -ansi -Wall -fsyntax-only -pedantic

* Wall - turn on all errors
* ansi - use strict ANSI C specification
* fsyntax-only - only checks syntax
* pedantic - reject violations

Par, commentaires En outre, vous pouvez utiliser     * -Wextra pour allumer quelques avertissements supplémentaires,

mise à jour grâce à la mise à jour de la capitalisation., Et mention -pedantic

Beaucoup de fans gcc.

Les drapeaux importants compilez avec sous Visual Studio pour être aussi stricte que possible sont les suivants:

cl /Za /W4 ...rest of command...

/ Za désactive les extensions spécifiques de Microsoft et / W4 est le niveau d'alerte le plus élevé (sauf / Wall, qui se plaint de choses ridicules).

Je voudrais aussi vous recommandons d'utiliser une version moderne de Visual Studio - les anciennes versions (VC6) étaient ridiculement non-conforme, et Microsoft a officiellement fait semblant qu'ils ne ont jamais existé à ce moment

.

Je recommande.

sites:

Livres:

  • efficace C ++
  • stl efficace
  • c ++ moderne conception
  • métaprogrammation modèle

parler / écouter les experts et de comprendre ce qu'ils ont à dire et pourquoi.

C ++ Primaire (4e édition) semble être le meilleur livre de débutant ces jours-ci car il faut une approche moderne et enseigne toutes les parties importantes de la langue. Accélération de C ++ est un autre livre souvent recommandé par les professionnels et sert une bonne introduction, mais je ne recommanderais pas l'acheter plus parce que C ++ Primer remplace bien et couvre mieux la langue.

Note: C ++ Primer Plus (qui est un livre assez mauvais) n'a rien à voir avec l'amorce C ++

.

Le langage de programmation C ++ de Stroustrup doit toujours être mentionné, bien sûr, parce qu'il est écrit par le père de la langue. Beaucoup de gens trouvent qu'il est instructif, mais personnellement, je ne le recommande pas pour apprendre la langue.

Tous les livres que je ne mentionne que décrivent la norme ISO sans les extensions non standard. Les programmes dans ces livres devraient travailler avec un compilateur C ++.

J'aime visiter www.cplusplus.com chaque fois que j'ai un doute, surtout à propos de la bibliothèque standard C ++.

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