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 :

Tableau static


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Par défaut Tableau static
    Bonjour,

    Donc je souhaiterai creer un tableau static mais ca taille je la rentre au moment de l'appel de la fonction Initializer(int taille) de la classe :

    ex :
    nomclass *cl = nomclass();
    cl.Intializer(10);

    donc je sais qu'il faut faire

    static int tableau[taille]

    Mais comme je connais pas encore ca taille lorsque je déclare la ligne ci-dessus. Donc je pense que la seule solution est de le faire en dynamique (à moins que vous saviez comment on le fait normalement.

    Donc je fais :

    static int *tableau;

    puis dans la procedure Intializer(int ) je fais : tableau = new int[]

    Mais bon ca marche pas, faut que je met la precedure en static aussi?

    Bref je pense qu'un petit exemple serait bien venu, car j'ai pas trouvé.

    Merci

  2. #2
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Pourquoi pas un vecteur statique ?

  3. #3
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Donc je pense que la seule solution est de le faire en dynamique
    En effet, si c'est au moment de l'éxécution il n'y a pas le choix.
    A moins de faire un tableau static assez grand mais:
    -risque d'utiliser trop de mémoire pour rien,
    -vérifier la taille demandée par l'utilisateur pour éviter les débordements.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Par défaut
    Citation Envoyé par Miles
    Pourquoi pas un vecteur statique ?
    Je vois pas c'est quoi un vecteur statique??

    Citation Envoyé par seriousme
    En effet, si c'est au moment de l'éxécution il n'y a pas le choix.
    A moins de faire un tableau static assez grand mais:
    -risque d'utiliser trop de mémoire pour rien,
    -vérifier la taille demandée par l'utilisateur pour éviter les débordements.
    La taille serait de taille 20 maximum. Donc je pense pas que ca poserait des problemes. Mais je parviens pas à faire un tableau static lors de l'execution car le tableau static se déclare en dehors du main

    Merci

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Par défaut
    Mais je vois pas la difference d'une tableau static et d'un vecteur?

    DOnc je dois déclarer comme ceci :

    const static vector <int> tableau;

  6. #6
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Je vois pas c'est quoi un vecteur statique??
    La classe "vector" implémente des tableaux dynamiques bien meilleurs que les tableaux traditionnels:
    http://c.developpez.com/faq/cpp/?page=STL#STL_vector

  7. #7
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    const static vector <int> tableau;
    Ca ne peut pas être "const" car le tableau est remplie à l'exécution.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 17
    Par défaut
    Ah si j'ai bien compri c'est un tableau qui permet d'être utilisé aussi plus facilement via des fonctions prédefinie comme resize. Mais bon en performance ca ne serait pas un peu plus lent? Car le seul souci que j'ai c'est de déclarer un tableau avec une taille que je passe en argument d'une fonction et le mettre en static.

    Mais bon si c'est la seule solution je suis preneur alors du vecteur ^^

    Merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/02/2013, 12h24
  2. Positionnement dans un double tableau static
    Par l'unique dans le forum Débuter
    Réponses: 2
    Dernier message: 25/04/2011, 21h24
  3. Tableau static dans une dll VC++ ?
    Par lio33 dans le forum MFC
    Réponses: 2
    Dernier message: 11/07/2007, 10h50
  4. Réponses: 1
    Dernier message: 23/09/2006, 00h41
  5. [Débutant(e)][embarqué] Base de données vs tableau static
    Par ludonantes dans le forum Collection et Stream
    Réponses: 16
    Dernier message: 15/02/2006, 20h42

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