Citation :
2eme question maintenant:
y'a t'il moyen de construitre un objet string a partir d'un tableau de char (en fait je lis d'un fichier et j'aimerais mettre les lignes dans des string), ou alors y'a t'il moyen de lire les ligens d'un fichier directemetn dans une string ?
|
c'est l'un des problemes que je rencontre parfois dans mon code.
Les litterals (inclus dans le segment data) n'existent que pour les tableaux de char. Ce qui fait qu'a chaque occurrence de la constante sous forme de string, il y a un surcout lie a la construction (a moins de le declarer static mais le surcout existe tout de meme a la creation de l'application ou lors du premier appel).
Ce serait bien d'avoir un stringwrapper, qui soit constructible dans le segment data et donc d'eviter d'avoir a dupliquer tout ca.. Pour ca les char * ont l'avantage. En pratique ce probleme est tres leger. Il faut juste faire attention a ne pas trop construire de constantes chaines sur la pile .
Pour ce qui est de ta question : Il y a un constructeur par defaut qui accepte un const char*
tu fais
Code :
- string machaine("contenu de ma chaine" );
|
tu peux aussi affecter un contenu apres coup:
Code :
- machaine = "un autre contenu";
|
pour lire depuis l'entree standard (avec iostream et pas iostream.h!!)
Code :
- getline(cin, machaine);
|
A+
LeGreg
---------------
voxel terrain render engine | animation mentor