C++ #14 - espaces de noms

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 พ.ย. 2024

ความคิดเห็น • 25

  • @aya6143
    @aya6143 2 ปีที่แล้ว +4

    Top !!! J’ai commencé avec Python, puis du C, et C++ c’est vraiment mon languages préféré, merci pour tout !!!

    • @formation-video
      @formation-video  2 ปีที่แล้ว +1

      Bon courage en programmation, et bonne journée à toi 😉

  • @franckmekoulou4314
    @franckmekoulou4314 2 ปีที่แล้ว +3

    je pensais qu'on allait jamais traiter cette notion, au moins ça s'était plus clair...
    je visionnaire la vidéo à 3h pour être top ,
    merci de traiter les espaces de nom , Jason

    • @formation-video
      @formation-video  2 ปีที่แล้ว +1

      De rien, bon visionnage en avance 😉

  • @jpc5311
    @jpc5311 ปีที่แล้ว

    Excellent ! J ' aime bien cette formation , elle est très bien expliquée ! Merci pour tout!!!

  • @Chxreza
    @Chxreza 2 ปีที่แล้ว +4

    j'aime tes videos :)

  • @aliboulgsoa596
    @aliboulgsoa596 8 หลายเดือนก่อน

    merci c'et top

  • @greenpenguin9846
    @greenpenguin9846 2 ปีที่แล้ว

    Top 👍

  • @Qhor
    @Qhor 2 ปีที่แล้ว +1

    Parfait je savait pas pour les espace anonyme nickel le static c’était pas terrible

    • @formation-video
      @formation-video  2 ปีที่แล้ว +1

      Oui, on a de quoi remplacer tout ça 😉

  • @laurentzimmermann1406
    @laurentzimmermann1406 3 วันที่ผ่านมา

    Bonjour,
    Je bute sur un problème que je n'arrive pas à résoudre.
    Dans util.hpp, j'ai défini "namespace Util{}" à l'intérieur duquel j'ai défini "bool string;" et que je n'utilise nulle part.
    J'ai une erreur lors du link : "définitions multiples de Util::string".
    J'avais cru comprendre que std::string et Util::string ne seraient pas en conflit.
    Je n'utilise nulle part "using namespace std" ;)
    J'ai loupé quelque chose ?

    • @formation-video
      @formation-video  3 วันที่ผ่านมา

      Bonjour, cette erreur indique que le compilateur trouve plusieurs définitions de la classe Util (ça doit venir de tes inclusions)

  • @ethernan9258
    @ethernan9258 ปีที่แล้ว

    Bonjour,
    Il y a une petite erreur, me semble-t-il. La déclaration (en 25:40) :
    using TLNN = TooLongNamespaceName;
    est invalide, car cette forme de déclaration attend un TYPE de données, comme tu le fais (en 26:03) lorsque tu déclares :
    using entier = int;
    int est bien un TYPE de données.
    Ceci dit, je me pose une question. J'ai fort bien compris que, dans la mesure du possible, il fallait s'affranchir d'utilser le 'using namespace' afin de prévoir tout conflit de noms. Dans ce cas, quel est l'intérêt d'utiliser ce dernier ?
    Merci beaucoup pour tout.
    A bientôt

    • @formation-video
      @formation-video  ปีที่แล้ว

      Bonjour, c'était pour montrer avec ce que l'on avait vu précédemment, mais pour les espaces de nom, on fait un alias avec l'autre syntaxe montrée : namespace TLNN = TooLongNamespaceName;
      On évite l'usage du "using namespace" surtout dans une portée globale. Dans une portée locale, cela ne pose pas de problèmes, et on le fait assez régulièrement, notamment pour utiliser de vraies chaînes de caractères.

  • @Jiimko
    @Jiimko 8 หลายเดือนก่อน

    bonjour je suis en train de suivre votre formation car je viens de commencer le codage et je n'arrive pas à réaliser le programme que vous avez fait à 19min, ça me dit main.cpp: In function 'int main()':
    main.cpp:11:5: error: 'test' was not declared in this scope; did you mean 'Util::test'?
    11 | test();
    | ^~~~
    | Util::test
    In file included from main.cpp:1:
    util.hpp:9:14: note: 'Util::test' declared here
    9 | void test(); // Util::test()
    | ^~~~
    est-ce que vous pouvez m'aider s'il vous plait. Merci d'avance et bonne continuation pour vos vidéos

    • @formation-video
      @formation-video  8 หลายเดือนก่อน +1

      Bonjour, le compilateur indique que tu as fait une erreur, et suggère d'écrire plutôt Util::test(), ce qui est à faire si ta fonction test() est dans l'espace de noms "Util" 👍

    • @Jiimko
      @Jiimko 8 หลายเดือนก่อน

      Oui mais c'est pour réaliser la fonction void test( )
      {
      std::cout

    • @formation-video
      @formation-video  8 หลายเดือนก่อน

      Si ta fonction test() est définie dans un espace de noms "Util", tu dois effectivement l'appeler avec Util::test(). Sinon, il faut définir cette fonction en dehors de toute espace de nom, si tu veux qu'elle fasse partie de l'espace global, avec un simple appel en faisant test() : pastebin.com/4TLfnTnw

    • @Jiimko
      @Jiimko 8 หลายเดือนก่อน

      ok merci@@formation-video

    • @formation-video
      @formation-video  8 หลายเดือนก่อน

      👍

  • @tigidou3344
    @tigidou3344 ปีที่แล้ว

    Pas du tout d'accord avec le fait de conseiller de ne pas mettre le "using namspace". Si tu ne sais pas l'environnement du code que tu es en train de taper, mieux vaut abandonner la programmation.

    • @formation-video
      @formation-video  ปีที่แล้ว +2

      Pourtant, cela fait partie des bonnes habitudes à avoir, de ne pas masquer les espaces de nom, et d'éviter (surtout) les conflits dans le code (je parle du cas précis de mettre un "using namespace" dans une portée globale, en local, c'est autre chose).
      Et non, tu ne sais pas toujours de quoi est composé l'entièreté d'un environnement et des projets rattachés, surtout quand tu bosses en équipe. Tu n'as généralement pas accès à l'ensemble du code, l'ensemble des projets et applications.