-
Transposer du c au c++
Bonjour à tous!
J'utilise le c++ et j'apprend la programmation sous linux. Il s'avère qu'il faille avoir pour cela recours à la bibliothèque de c.
Je cherche donc une méthode pour savoir facilement si une fonction ou une en-tête de c a son équivalent c++ de manière à les utiliser.
-
-
Bonjour,
Je crois que mon message était un peu embrouillé.
Utiliser la bibliothèque c ne me dérange pas (au passage merci pour le lien il me sera utile). Ce que j'aimerais c'est utiliser le équivalent c++ chaque fois que cela est possible. Mais pour cela il me faudrait un moyen simple et efficace comme une table de correspondance (si ça pouvait exister...) des fonctions et classes c et c++.
-
Bonjour,
Je ne sait pas ou on peut trouver une telle table.
Mais en général, les principales fonction C que l'on n'utilise plus en C++ sont:
- Pour les entrée sorties. On ne fait plus printf ou fopen, on utilise les std::stream
- Pour les chaine de caractères: plus de char* ni les fonctions qui vont avec(strcpy, etc...), on utilise les std::string
- Plus de malloc(bien sur), et on utilise les std::vector quand c'est possible pour éviter les new, les memcpy et toute ses choses qui nous font des bugs ou des fuite memoires.
- Pour la gestion de date, il n'y as pas grand chose de nouveau dans la STL, mais dans boost il y a date_time
Ce sont, de mon point de vue, les principales fonctions qui changent entre le C++ et le C(Je dit bien les principales, car je ne pourrai pas t'en faire une liste exhaustive). D'une manière général, une bonne connaissance de la STL, et des principales librairies de boost te permettront d'éviter d'utiliser des fonctions qui n'ont plus d'intérêt en C++.
-
ce sont deux langages différents, il n'y a pas de corresondances exactes pour passer de l'un à l'autre. Il va falloir apprendre du C++ pour l'utiliser correctement :)
-
Je suis en train d'effectuer cela sur un code scientifique. Ce que j'ai fait, c'est regrouper les variables sous la forme de structures (qui ont un sens, naturellement), puis les fonctions sont découpées si besoin est, puis ces fonctions sont transformées en méthodes de ces structures si cela est pertinent.
Et donc tout ce qui est I/O est passé en C++, les macros sont des templates, ...