Il y a certaines fonctionnalités que je ne trouve pas alors
Tu peux donner des exemples ? car à part l'introspection, j'ai du mal a voir ce qu'il manque par rapport au java (au niveau des capacités du langage)
Moi ce qui me manque quand je change de langage (généralement java), c'est la non maitrise des const, impossibilité de choisir entre valeur/référence/pointeur, impossible de redéfinir les opérateurs (simplification d'interface), les template...
Quand je parlais des fonctionnalités que je ne trouve pas (ou pas facilement), je pensais à la STL, pas au langage même. Je ne cherche pas à faire de comparaison sur les langages, ils sont différents par définition, mais j'attends pour chacun des langages d'avoir une bibliothèque de base suffisamment fournie et pratique à utiliser.
Pour en revenir à un exemple, je cherchais l'autre jour à lire un fichier binaire dans un vector<int>.
Le code suivant fonctionne pour un vector<char>, mais pas pour vector<int> :
std::ifstreamfile(filename,std::ios::binary);std::vector<char>buffer(std::istreambuf_iterator<char>(file),{});// Ok, mais on lit des char...std::vector<int>bufferInt(std::istreambuf_iterator<int>(file),{});// Ne compile pas
Ça m'a un peu étonné de ne pas pouvoir faire ça, pour un langage pourtant si puissant en terme de templates.
[^] # Re: Performance
Posté par Meku (site web personnel) . En réponse au journal Moi, expert C++, j'abandonne le C++. Évalué à 2.
Quand je parlais des fonctionnalités que je ne trouve pas (ou pas facilement), je pensais à la STL, pas au langage même. Je ne cherche pas à faire de comparaison sur les langages, ils sont différents par définition, mais j'attends pour chacun des langages d'avoir une bibliothèque de base suffisamment fournie et pratique à utiliser.
Pour en revenir à un exemple, je cherchais l'autre jour à lire un fichier binaire dans un
vector<int>.Le code suivant fonctionne pour un
vector<char>, mais pas pourvector<int>:Ça m'a un peu étonné de ne pas pouvoir faire ça, pour un langage pourtant si puissant en terme de templates.