IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[init memoire] memset en c++


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut [init memoire] memset en c++
    en C++, utilise t on memset ? sinon quel est son equivalent ?

    PS: j ai pas envie de faire une bete boucle d'initialisation de la memoire

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    std::fill ou std::fill_n pour remplir un conteneur quelconque.
    Et évidemment, pour initialiser une structure on n'utilise plus memset mais un constructeur.

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    je sais pas comment caster/arranger les bidons pour que ca marche avec std::fill.

    j aimerais transformer ca en c++ :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    memset(&l_Header, 0, sizeof(l_Header));
    ou l_Header est une structure de type MaStructure.

  4. #4
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par défaut
    Comme je l'ai dit, std::fill c'est pour remplir des conteneurs ; pour initialiser une structure il fallait passer par son constructeur.

    Mais bon si tu veux faire une "initialisation bourrin" à zéro des bits de ta structure, memset ça marche toujours. Tu peux le faire marcher avec std::fill_n, mais ça ne changera rien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char* Ptr = reinterpret_cast<char*>(&l_Header);
    std::fill_n(Ptr, sizeof(l_Header), 0);

  5. #5
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    ok ok, oui le mode bourrin est approrié ici
    a+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LG]Mémoire dynamique
    Par FJUILLET dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2004, 11h15
  2. [CR7] Erreur CanNot initalize OLE
    Par elifqaoui dans le forum SAP Crystal Reports
    Réponses: 4
    Dernier message: 17/07/2003, 22h03
  3. [swing] probleme de memoire
    Par leBigouden dans le forum AWT/Swing
    Réponses: 6
    Dernier message: 23/05/2003, 14h19
  4. gestionnaire de memoire
    Par elone dans le forum C
    Réponses: 2
    Dernier message: 23/01/2003, 00h31
  5. récupérer la memoire et tableau dynamique
    Par Guigui_ dans le forum Langage
    Réponses: 6
    Dernier message: 06/01/2003, 08h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo