Boost évidemment, QT pour l'interface graphique (ce n'est pas clairement une bibliothèque, je sais), Electronic Arts Standard Template Library et Blitz++ si vous voulez faire le calcul scientifique:
Blitz ++ est une bibliothèque de classes C++ pour calcul scientifique qui fournit performances à égalité avec Fortran 77/90.
Le langage de programmation C++ offre de nombreuses fonctionnalités utiles pour faire face à des problèmes de scientifiques complexes: héritage, le polymorphisme, la programmation générique et la surcharge d'opérateur sont quelques-uns des plus importants. Malheureusement, ces fonctionnalités avancées est venu avec une bonne performance pricetag: jusqu'à récemment, C++ retardé derrière les performances de Fortran par de 20% à un facteur de dix. Par conséquent, l'adoption de C++ pour le calcul scientifique a été lente.
est-il un moyen de soupe en C++ afin que nous pouvons garder la langue fonctionnalités avancées, mais la mauvaise performance fossé ? Tel est l'objectif du Blitz ++ projet: développer des techniques qui permettront C++ de rivaliser - et même dans certains cas dépasser - la vitesse de Fortran pour le calcul numérique, tout en conservant une interface orientée objet . Le Blitz ++ Numérique Bibliothèque est en cours de construction en tant que banc d'essai pour ces techniques.
benchmarks récents montrent C++ empiétant régulièrement sur haute performance monopole de Fortran, et pour certains points de référence, C++ est encore plus rapide que Fortran! Ces résultats sont obtenus non par l'intermédiaire de mieux optimiser les compilateurs, préprocesseurs, ou extensions de langue, mais grâce à l'utilisation du modèle techniques. En utilisant les modèles intelligemment, des optimisations telles que la fusion fusion, déroulant, carrelage, et spécialisation d'algorithme peuvent être effectué automatiquement au temps de compilation .
Un autre but de Blitz ++ est d'étendre le modèle de réseau dense classique à incorporer de nouvelles fonctionnalités utiles. Certains exemples de telles extensions sont les formats de stockage flexibles , la notation tensorielle et les espaces réservés d'index.
bonnes bibliothèques pour quoi? – Macarse
C/C++ n'est pas une langue unique, et l'utilisation idiomatique peut être très différente entre eux. Boost et ACE sont deux bibliothèques C++. – Tom
Veuillez rétrécir le titre pour qu'il corresponde à "EDIT". –