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

Langage C++ Discussion :

Choix d'un objet string ou d'un tableau de caractères


Sujet :

Langage C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut Choix d'un objet string ou d'un tableau de caractères
    Bonjour,

    J'ai une classe en C++ à créer avec plusieurs membre (de type chaine de caractère) avec chacun une taille fixe. Et je me pose donc la question si je dois utiliser l'objet string ou un tableau de caractères pour des raisons d'optimisation mémoire et de performance.
    A priori, j'irai plus vers la direction de l'objet string car il y a beaucoup de fonctions utiles déjà implémentées. Mais j'ai aucune idée comment C++ alloue en mémoire un objet string. Allocation d'une taille fixe, puis ré allocation si dépassement ? Allocation dynamique à l'affectation ?

    J'aimerai donc avoir quelques éclaircissement sur l'objet string et le choix d'un objet string ou d'un tableau de caractères.

    merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut,

    Si tu utilises le constructeur qui va bien (par exemple std::string str("Salut tout le monde");) l'allocation se fait en une seule et unique fois

    Ceci dit, à moins que tu ne passe littéralement ton temps à construire et reconstruire des chaines de caractères, je ne suis vraiment pas sur que tu doives réellement t'inquiéter du problème de performances

    Si tu dois t'inquiéter du problème de performances, essayes, par exemple, surtout de préférer la comparaison de valeurs numériques à celle de chaines de caractères (car c'est une limitation connue des chaines de caractères, que ce soit sous la forme de tableaux Cstyle ou sous la forme de std :: string )

    Essayes aussi d'éviter les copies inutiles: Si tu dois passer des chaines de caractères en argument, transmets les de préférence sous la forme de référence (constantes si la fonction ne doit pas la modifier) que sous la forme de valeur.

    Pour le reste... attends peut etre déjà de voir ce que ca donne de la sorte
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    79
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 79
    Points : 48
    Points
    48
    Par défaut
    merci Koala01 pour ta réponse.

    Je vais donc prendre des unsigned short car ce sont des identifiants (< 65 536).

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/01/2007, 09h30
  2. [javascript] objet string + comparaison
    Par herve70 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/11/2006, 16h19
  3. [POO] Objet string et copie
    Par Gruik dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 03/11/2006, 17h34
  4. [POO] du texte a partir d'un objet String
    Par jejam dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 06/01/2006, 15h08
  5. Comment tester qu'un objet String est bien initialisé
    Par Jones dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 17/09/2004, 11h29

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