Bonjour,

Je trouve assez souvent des morceaux de code dans ce genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
fd = open(std::string("/pathto/file").c_str(), O_RDWR);
considérant le prototype de open
Code : Sélectionner tout - Visualiser dans une fenêtre à part
int open(const char *pathname, int flags);
Je ne comprends pas l’intérêt de cette formulation par rapport à écrire simplement

Code : Sélectionner tout - Visualiser dans une fenêtre à part
fd = open("/pathto/file", O_RDWR);
A priori c'est plus lourd pour la machine (sauf optimisation faite par le compilateur) et surtout c'est plus complexe à relire.
Cependant, comme j'ai trouvé cette formulation dans de nombreux codes "officiels" différents, je suppose qu'il y a une raison.

quelqu'un peut-il m'éclairer.
Est-ce une bonne pratique ? (j'en doute)
et si oui, pourquoi ?