• [^] # Re: moar features

    Posté par (Mastodon) . En réponse à la dépêche C11 n'est pas encore mort. Évalué à 1.

    en stockant un void* on perd à la fois l'information de type (donc de la sécurité)

    Normalement, tu ne stockes qu'un seul type de données dans une map. La seule contrainte, c'est que tu ne peux pas le vérifier à la compilation, c'est au programmeur de faire attention.

    on oblige potentiellement à allouer quelque chose sur le tas

    Si pour toi, pointeur == alloué sur le tas, je crois que tu n'as pas bien saisi ce qu'est un pointeur.

    Avec une map C++ j'aurais pu faire map et c'est plus efficace en stockage.

    Effectivement, pour chaque élément ajouté à la map (implémenté avec un arbre bicolore), tu as déjà 3 pointeurs (fils droit, fils gauche et parent) et une couleur. Donc, ton économie de bout de chandelle, elle ne change pas grand chose...

    Après pour l'opérateur de copie, en C, je vois pas trop d'inconvénient à utiliser memcpy ^^

    Sauf que si ta structure contient un pointeur vers une structure allouée dynamiquement, tu ne sauras jamais quand tu dois la désallouer.