Bonjour,
je voudrais savoir s'il existe une fonction permettant de retourner la taille d'un type qui est dans une chaine de caracteres.
Du genre:
sizeof("char") qui me donnerait 1 et non 4 octets.
Merci.
Bonjour,
je voudrais savoir s'il existe une fonction permettant de retourner la taille d'un type qui est dans une chaine de caracteres.
Du genre:
sizeof("char") qui me donnerait 1 et non 4 octets.
Merci.
Il n'existe rien d'automatique et tout joli pour faire ça non.
Les trucs qui pourraient s'en rapprocher sont assez complexes et ne "tiennent" pas la route si t'as besoin d'appliquer ça pour pleiiiiiins de nouveaux types.
Pourquoi as-tu besoin de ça ?
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Bonjour,
Je pense que l'utilisation d'un enum sera la solution à envisager.
Sinon, ça ressemble beaucoup à un code proche de celui là:
( pardon, mon code n'est pas C++, veuillez vous rappeler qu'il y a des std::string et une méthode compare dans la STL ( et surement l'opérateur == surcharger convenablement ) )
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // Ceci est une exemple const char type = "char"; int nbBytes = 0; if ( strcmp( type, "char" ) ) { nbBytes = sizeof(char); } else if ( strcmp ( type , "int" ) ) { nbBytes = sizeof(int); }
Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi
Ma page sur DVP
Mon Portfolio
Qui connaît l'erreur, connaît la solution.
L'enum est très peu pratique à utiliser. A la rigueur avec du bricolage tu fais une macro qui ajoute la correspondance entre la chaine et le type etc de sorte à n'avoir qu'une seule ligne à écrire par nouveau type.
Mais bon... Avoir à concevoir un tel mécanisme, dans 95% des cas c'est pas bon signe.
Mon blog anglais - Mes articles et critiques de livres - FAQ C++0x, avec liste des nouveautés - Conseils sur le C++ - La meilleure FAQ du monde - Avant de créer des classes que vous réutiliserez, regardez si ça n'existe pas déjà - Le site du comité de normalisation du C++
Le guide pour bien débuter en C++ - Cours et tutoriels pour apprendre C++
Partager