begin process at 2012 05 29 07:08:38
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Divers

 > 

Informations sur la STL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Informations sur la STL

mardi 17 mai 2005 à 20:16:08 | Informations sur la STL

simtiers

Salut !

Existe-il dans la STL une classe de stockage du genre vector qui permette de stocker des variables de type différents ?

En fait, je crée une fonction à nombre d'arguments variables (les fameux "..." ), ces arguments pouvant être de types différents.
Il faut que je sache s'il s'agit d'un int, d'un double ou d'une chaine de caractères.

J'avais pensé à faire une structure contentant ces infos, puis les passer par un vetor, mais je sais pas trop comment faire cette structure (un union peut-être ?)

Merci
mardi 17 mai 2005 à 20:36:15 | Re : Informations sur la STL

steve_clamage

Pour "..." tu as tout dans stdarg.h, en C++ tu as la surcharge.
mardi 17 mai 2005 à 20:40:03 | Re : Informations sur la STL

simtiers

Pour le moment, j'ai opté pour la structure contenant un union
Je fais passer les structures dans un vector (plus facile à gérer pour le moment) :

struct Lua_Arguments
{
    char TypeOfArgument;
   
    union
    {
        long long_var;
        double double_var;
        char* char_var;
    } variable;
};


Sinon, je voulais quelle fonction fallait préferer : printf ou cout ?
mardi 17 mai 2005 à 21:00:01 | Re : Informations sur la STL

steve_clamage

Mais printf c'est du C ?? En C++ tu utilises std::cout << et c'est tout.
Tu veux faire quoi exactement ? Parce que ce que tu propose passe en C a la rigueur mais en C++ il doit y avoir plus élégant.
mardi 17 mai 2005 à 21:00:17 | Re : Informations sur la STL

vecchio56

Administrateur CodeS-SourceS
Pourquoi pas une classe Type, et des sous classes Long, Double, Chaine rassemblés dans un vector<Type*>
mardi 17 mai 2005 à 21:01:54 | Re : Informations sur la STL

vecchio56

Administrateur CodeS-SourceS
Meme en C++, printf peut avoir des avantages: par exemple écrire un entier en heaxadecimal avec %x. Je sais pas faire ca avec cout
mardi 17 mai 2005 à 21:05:08 | Re : Informations sur la STL

simtiers

Comme le dit vecchio : printf est très utile pour le formatage direct de ce que l'on veut afficher.
J'utilise cout seulement pour les chaines directement affichables

vecchio : je comprends pas trop bien ton idée pour le vector<type*>, tu peux en dire un peu plus ?
mardi 17 mai 2005 à 21:09:59 | Re : Informations sur la STL

vecchio56

Administrateur CodeS-SourceS
Tu veux rassembler des variables de type différent? Mais c'est impossible, tu peux donc jouer avec l'héritage: Type est une classe de base (peut-être abstraite) et chaque type possible pour le vector est une classe qui hérite de Type

class Type{};
class Int: public Type{int n;...};
class Chaine: public Type{char* s;...};
etc...
vector<Type*> v;
v.push_back(new Int(2));
v.push_back(new Chaine("bonjour"));

mardi 17 mai 2005 à 21:15:03 | Re : Informations sur la STL

steve_clamage

cout << hex << num;
voir precision, voir la documentation.
printf c'est du C au cas ou vous ne l'auriez pas remarquez, le seul point commun entre le C et le C++ c'est la synthaxe.

mardi 17 mai 2005 à 21:20:15 | Re : Informations sur la STL

vecchio56

Administrateur CodeS-SourceS
La syntaxe est évidemment différente entre les deux langages, de plus on peut très bien utiliser printf en C++ de la même facon qu'on a le droit d'utiliser un char* à la place d'une string. D'ailleurs quelle est l'utilité de <cstdio.h>?

1 2

Cette discussion est classée dans : variables, informations, stl, différents, arguments


Répondre à ce message

Sujets en rapport avec ce message

Les variables globales...... [ par netman ] Bon la j'ai un petit probleme (normal sinon je poserais pas de question ....)Bon je fait un petit programme et la je suis confronte a un pb .....J'uti Arguments en ligne de commande [ par Fantoooom ] Salut,Je débute dans le C++. J'ai lu dans un livre un truc à propos des arguments en ligne de commande, mais je ne sais pas du tout ce que c'est, quel Recherche comment recuperai les variables (options) qui ont lancer mon programme [ par Cybmat ] SAlut je fait qu cpp que depuis moin d'un moiset ej cherche comment on fait pour connaitres les options ki ont lacer mon programe ( ex : pro.exe -cons les modites Variables [ par Dj-ZhAbS ] problème niaiseux, ça je le sais...voilà il faut que je puisse déclarer un pointeur de type array... de fenêtresTFormCPub *CPub[9] une seule fois dan Association de variable au contrôle [ par Fantoooom ] Salut,Je suis débutant en langage C++. J'utilise Visual C++. En utilisant AppWizard, je mets en place mes bouton, zone de saisie, etc. Je leur donne à Validation d'informations [ par olivierb ] Bonjour,j'essaie de valider les informations d'un programme sous C++Builder.Le problème c'est que j'utilise ce test if(StrToInt(Edit1->Text) else // o Encryption 128 bit [ par GEDEON ] Quelqu'un aurait-il des informations pour encrypter un fichier en c++ ???? et de préférence en 128 bits... toutes les informations sont les bienvenues Encryption 128 bit [ par GEDEON ] Quelqu'un aurait-il des informations pour encrypter un fichier en c++ ???? et de préférence en 128 bits... toutes les informations sont les bienvenues Taille des variables [ par appstmd ] Bonjour !J'ai des problèmes avec l'utilisation des variables de chaîne de caractères : je ne connais pas la taille, je suis donc obligé de déclarer me pb avec les dll !!! [ par ToasTy62 ] bon g une kestion a poser ki me tracasse... arghqd on fé une dll, on pt y mettre des variables globales, ok.ms est-ce ces variables globales sont tjrs


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales