Question

Pour chaque conteneur stl, il existe un conteneur MFC disponible dans Visual C ++: lequel est meilleur qu'un autre dans quel sens et que utilisez-vous?

J'utilise toujours le conteneur STL, est-ce faux?

Était-ce utile?

La solution

Les

classes de collection MFC présentent certains avantages si vous travaillez dans les limites du territoire MFC. Par exemple. vous obtenez des choses comme la sérialisation (si vos éléments de conteneur héritent de CObject ou similaire) et du support de débogage pour & "free &"; MSDN décrit comment choisir entre différents types de collections MFC [ici] ( http://msdn.microsoft.com/en-us/library/y1z022s1 (VS.80) .aspx) .

Cependant, par défaut, je me pencherais vers les classes STL.

Autres conseils

Je préférerais toujours les conteneurs STL à cause de la portabilité.

Les conteneurs MFC ne seront presque jamais disponibles sous Linux.

Même si vous ne prévoyez pas utiliser votre code sous Linux, vous ne savez jamais ce que l'avenir apportera.

Les gens ont souligné que la portabilité du code était une raison d'utiliser STL, mais il existe une bien meilleure raison, qui est plus dans votre propre intérêt: la transférabilité des compétences et de l'expérience. À mon avis, lorsque vous rechercherez votre prochain emploi, l'expérience de STL sur votre CV vous donnera plus de possibilités. Pourquoi? STL fait effectivement partie du C ++ standard et si j'embauchais, je supposerais que quelqu'un qui le connaisse puisse récupérer les conteneurs MFC assez rapidement, mais je ne ferais pas nécessairement l'hypothèse inverse si je recherchais une personne ayant des compétences en STL.

de la source:

& "; Et franchement, l’équipe vous donnera la même réponse. Les classes de collection MFC ne sont là que pour la compatibilité ascendante. C ++ a une norme pour les classes de collection et constitue la bibliothèque Standards C ++. Il n’existe aucun inconvénient technique à l’utilisation de la bibliothèque standard dans une application MFC.

Nous ne prévoyons pas de modifications significatives dans ce domaine.

Ronald Laeremans Chef de produit par intérim Vsual C ++ Team "

Préférez la portabilité et la liberté de propriété. Allez pour STL & Amp; Boost (www.boost.org).

Ceux de la STL. Sérieusement.

J'utilise les conteneurs STL pour de nombreuses raisons: ils sont bien testés, bien documentés et bien compris par tous. Ils sont également constamment améliorés: regardez toutes les nouvelles fonctionnalités ajoutées par Boost, et tout cela est rétro-compatible. Et si vous voulez vraiment perdre votre esprit, lisez le document Modélisation C ++ moderne d'Alexandrescu: Programmation générique et modèles de conception appliqués. L'utilisation de Boost et du TSL est nécessaire pour utiliser nombre de ses techniques.

Autre élément à prendre en compte: le S TL est & "; S en standard &"; mais le M FC n’est que & "; M Microsoft® &"; Tout codeur générique C ++ aléatoire comprendra probablement STL, mais seul un ancien codeur Microsoft connaît MFC. En outre, Microsoft a pratiquement abandonné le MFC.

Même quand ils vous indiquent que les conteneurs MFC sont plus rapides, peuvent être sans exception et permettent un double espresso gratuit: fermez simplement les yeux et utilisez la touche Suppr (touche NO-LOCK-IN).

Vous pouvez faire tout cela et de manière plus portable et de manière plugabble, les solutions d'accessoires ne peuvent que rêver. STL jusqu'au bout.

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