Bonjour,
Est-ce que vous pourriez m'expliquez la ligne suivante?
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part long n = argc >1 ? atol(argv[1]) : 10L;
Bonjour,
Est-ce que vous pourriez m'expliquez la ligne suivante?
Merci.
Code : Sélectionner tout - Visualiser dans une fenêtre à part long n = argc >1 ? atol(argv[1]) : 10L;
Bonjour,
il s'agit juste de l'opérateur ternaire ?:
Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
Un peu de programmation réseau ?
Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.
Salut,
Comme l’a dit Bousk, il ne s’agit que de l’opérateur ternaire qui est plus ou moins un if/else condensé.
Ton code est équivalent à :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 long n; if (argc > 1) n = atol(argv[1]) else n = 10L;
Au passage, on évite généralement d’utiliser la fonction atol car elle ne fait aucune gestion d’erreur. On préférera utiliser strtol (ou puisque que l’on est en C++, un std::istringstream).
En gros, si on a passé un argument au programme, on le convertit en nombre pour l'utiliser, sinon on prend le nombre 10.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
Partager