begin process at 2012 05 29 06:34:31
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Divers

 > 

Général

 > 

Etendre std::string(char *) pour utiliser nos references de char[] a l'interne


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

Etendre std::string(char *) pour utiliser nos references de char[] a l'interne

lundi 2 mars 2009 à 12:22:11 | Etendre std::string(char *) pour utiliser nos references de char[] a l'interne

ebeaumier


Bonjour,

Je dois appeler une API externe qui ne prend que des "const string &" et nous utilisons a l'interne des char[].

Est-il possible d'étendre la classe "string" pour surcharger le constructor  std::string(char*) afin d'utiliser nos char[] a l'interne de ceux-ci?   Car par défaut, le constructor de std::string(char*) creer une copie a chaque fois et comme on dois appeler cet API a profusion ... utilisant d'énorme chaine de caracteres (XML), cela fait beaucoup d'allocation/deallocation ainsi que de copies en memoire inutile.

Merci.




lundi 2 mars 2009 à 13:55:19 | Re : Etendre std::string(char *) pour utiliser nos references de char[] a l'interne

juju12

tu peux créer effectivement une classe dérivée de string et ajouter un contructeur depuis const char* qui ne copiera pas la chaîne mais seulement l'adresse et remplira les autres champs de la classe.
Le mieux serait tout de même d'essayer de travailler avec un seul type de chaînes mais bon...
lundi 2 mars 2009 à 14:27:25 | Re : Etendre std::string(char *) pour utiliser nos references de char[] a l'interne

ebeaumier


Merci pour la réponse.  Effectivement j'avais envisagé de surcharger ce dernier, mais je ne trouve pas le source de std::string().  Tu sais ou je peux le trouver?  Car pour faire pointer le char * interne de "string" j'aurais besoin de ces infos ... a tout le moins le .h pour les declarations internes de string.h.

Merci.


lundi 2 mars 2009 à 23:14:27 | Re : Etendre std::string(char *) pour utiliser nos references de char[] a l'interne

juju12

ben ces fichiers sont standards donc tu les as forcément; c'est effectivement string.h, xstring.h etc...


Cette discussion est classée dans : string, utiliser, interne, char, std


Répondre à ce message

Sujets en rapport avec ce message

La class string [ par jderf ] Je suis débutant et je teste la class string. Voici un code tous simple, mais y'a un probleme de conversion à la compil que je ne comprend pas. Les er erreur std::operator [ par chalmia2s ] Bonjour,je fais un code sur visual c++ et j'obient 180 erreur!!!!!!!!!!!!!!! du genre: pour le code: std::string str;std::string nom="";std::string Problème au linkage [ par TorTukiTu ] Bonjour, je poste aujourd'hui car j'ai passé la nuit sur le problème qui suit: (Je tourne sous ubuntu linux, la compilation a lieu avec g++)J'ai un co Convertir unsigned char en string^ [ par elise42 ] Bonjour à tous, je code en C++ et je cherche à convertir un unsigned char Buffer_Envoi en un string ^Trame. Quelqu'un aurait il une idée? Merci d'a conversion string et char, probleme [ par flowneo ] Bonjour, soit le code suivant, qui convertit une chaine string en char: #include #include #include using namespace std; int main (){ string com String to Char puis Char to Int puis Int to Char puis Char to Int [ par gooooo ] Bonjour, Je débute avec Visual C++ et j'avoue que j'ai un peu de mal. Habituellement j'utilise Qt et la il y a du changement. Voici le problème : J problème sur une création de classe [ par simonpelloquin ] Bonjour, Je bloque sur un problème de définition de classe et ça commence à me prendre la tête. Est-ce que vous pourriez m'indiquer ce qui ne vas pas Operateur + (string) [ par victorcoasne ] Bonjour, Je voulais faire un code du genre : [code=cpp]#include #include using namespace std; int main() { string test = "a" + "b"; cout utilisé string dans une dll c++ [ par avg ] Bonjour à tous j'ai un problème avec la création d'une dll avec c++ pour créer les fonctions à exporté de dll si son type de retour est int ou void le


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

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,827 sec (4)

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