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 :

Type booléen modifié


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut Type booléen modifié
    Bonjour,

    Je voudrai savoir s'il serait possible de pouvoir créer un type booléen ne prenant qu'un bit en mémoire afin d'économiser de la place. En effet, je me suis aperçu que le type 'bool' prenait la même taille en mémoire qu'un entier. Merci d'avance à ceux qui pourront m'éclairer


    Nico.

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Je vrois bien avoir lu ici qu'un vector< bool > était implémenté de manière économique. Mais cela doit dépendre de l'implémentation...

    Quant au type bool lui-même, lui aussi dépend peut-être de l'implémentation (bien qu'il y ait sans doute des contraintes de compatibilité pour une même plate-forme) : le bool pourrait très bien tenir dans un char...
    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.

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    56
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Juin 2006
    Messages : 56
    Par défaut
    Je vais peut etre dire une connerie, mais a tu pensé au champs de bits?
    le problème c'est qu'il me semble qu'il prennent quand meme un octet en mémoire, a voir...

  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
    Est-ce que tu as réellement besoin d'économiser cette place, ou bien il s'agit juste du reflexe de programmeur "c'est pas optimum -> j'optimise" ?

  5. #5
    Membre éclairé Avatar de nicolas66
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    326
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 326
    Par défaut
    Citation Envoyé par Médinoc
    Je vrois bien avoir lu ici qu'un vector< bool > était implémenté de manière économique. Mais cela doit dépendre de l'implémentation...

    Quant au type bool lui-même, lui aussi dépend peut-être de l'implémentation (bien qu'il y ait sans doute des contraintes de compatibilité pour une même plate-forme) : le bool pourrait très bien tenir dans un char...
    Sais-tu sur quel site je pourrai avoir plus d'informations à ce sujet ?

    Citation Envoyé par QuantuX
    Je vais peut etre dire une connerie, mais a tu pensé au champs de bits?
    le problème c'est qu'il me semble qu'il prennent quand meme un octet en mémoire, a voir...
    Comment ca fonctionne en gros les champs de bits ?

    Citation Envoyé par Laurent Gomila
    Est-ce que tu as réellement besoin d'économiser cette place, ou bien il s'agit juste du reflexe de programmeur "c'est pas optimum -> j'optimise" ?
    Je pense qu'il s'agit juste d'un réflexe de programmeur mais j'aimerai bien trouver une solution à ce problème

  6. #6
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    En effet, je me suis aperçu que le type 'bool' prenait la même taille en mémoire qu'un entier.
    Non, ça dépend de l'implémentation, sizeof(bool) vaut 1 chez moi.

Discussions similaires

  1. type booléen dans access
    Par imeys dans le forum Access
    Réponses: 6
    Dernier message: 19/02/2007, 21h08
  2. Myql type booléen
    Par kitty2006 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 22/08/2006, 21h48
  3. Type booléen sous Firebird 1.5
    Par rprom1 dans le forum SQL
    Réponses: 2
    Dernier message: 14/02/2006, 16h59
  4. type utilisateur modifier
    Par shadow31 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 15/11/2005, 14h58
  5. Index sur une col. de type 'booléen": utile?
    Par Atreides dans le forum Oracle
    Réponses: 2
    Dernier message: 28/01/2005, 13h12

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