• [^] # Re: Bof

    Posté par (site web personnel) . En réponse au lien AI Toolkit, donnez un cerveau à vos NPCs, une librairie C++ header-only. Évalué à 5. Dernière modification le 11 janvier 2024 à 22:26.

    J'avais fait cette lib pour répondre à un besoin personnel, et j'ai décidé de la publier même non finie au lieu de la laisser pourrir sur mon pc.

    Pas mal de codebases n'autorisent pas C++20

    C'est réellement pas mon problème. C++20 et C++23 apportent beaucoup de fonctionnalités très intéressante, je vois pas pourquoi je m'en priverais.

    STL utilisée, et pour de mauvaises raisons en plus.

    Tu as réussi a inférer mes raisons simplement en lisant le code ?

    La raison c'est que je ne voulais aucune dépendance. Le langage de base me fournit tout ce dont j'ai besoin, je ne vois pas pourquoi j'irais chercher ailleurs.

    Ce code utilise auto pour tout et n'importe quoi.

    Oui, parce que l'inférence de type c'est bien.

    Il y a des shared_ptr qui devraient vraiment être des unique_ptr, également.

    Ca c'est le premier point ou je suis d'accord. Mais j'ai eu des problèmes avec unique_ptr:

    • std::initializer_list ne peut pas contenir de unique_ptr car quand on itère dessus, cela fait une copie
    • je ne peux pas initialiser un std::vector de unique_ptr pour la même raison, car le constructeur utilise std::initializer_list

    Cela m'obligerait donc a créer le std::vector, faire des push_back avec std::move, et ensuite std::move le std::vector au constructeur qui en a besoin, chiant.

    Alors oui, j'ai pris l'option de facilité, utiliser shared_ptr, ça marche bien.

    aucun outil.

    Libre à toi de faire une PR, c'est ça aussi l'opensource.

    Et pour finir :

    Pour moi, cette lib n'a que peu d'intérêt

    C'est bien, personne ne t'oblige à l'utiliser.

    https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg