Prend par exemple le char** dans le main(). C'est quand même super paradoxal, non? Ça ne semblerait pas plus cohérent de pouvoir obtenir un std::vector<std::string>? Le langage envoie des signaux contradictoires tout le temps.
main fait partie de l’API C. Passer un std::vector<std::string> impliquerait :
* de forcer à compiler avec la STL (donc support des exceptions, rtti, exécutable plus gros, etc).
* un overhead au démarrage lié à la construction de ce vecteur à partir de l’API C.
Ce serait donc contraire à la philosophie C++ de ne payer que pour ce qu’on utilise.
Mes commentaires sont en wtfpl. Une licence sur les commentaires, sérieux ? o_0
[^] # Re: Donc pour résumer...
Posté par whity . En réponse à la dépêche C++17, Genèse d’une version mineure. Évalué à 4.
C’est quelque chose du genre, que tu cherches ?
main fait partie de l’API C. Passer un
std::vector<std::string>impliquerait :* de forcer à compiler avec la STL (donc support des exceptions, rtti, exécutable plus gros, etc).
* un overhead au démarrage lié à la construction de ce vecteur à partir de l’API C.
Ce serait donc contraire à la philosophie C++ de ne payer que pour ce qu’on utilise.
Mes commentaires sont en wtfpl. Une licence sur les commentaires, sérieux ? o_0