string vs string* - C++ - Programmation
Marsh Posté le 18-09-2007 à 20:20:43
string DOIT etre considérer comem un type primitif.
Le seul cas ou string* se justifie c'est dans les map et encore, c'est des cas tordus.
Marsh Posté le 18-09-2007 à 20:21:57
Yop Joel
Des raisons particulières dans tes 2 cas?
Merci
Marsh Posté le 18-09-2007 à 20:23:10
en gros, y a des cas ou faire des map<string,string> devient tres couteux (j'ai plsu le details mais j'ai vu ça dans un truc genre GotW ou TIC++)
sinon, en general, le cout de mani/copier des string et negligeables dans la pluaprt des applis.
Marsh Posté le 18-09-2007 à 20:26:23
ok.
Je vais en revenir à mon autre topic, mais j'imagine que c'est lié à std::string (mon cas là).
Quid de QString et autres string en général?
Marsh Posté le 18-09-2007 à 20:45:31
QString c'ets string en presk pareil modulo le support des trucs QT spécifique. LEs autres string .??? de quoi veut tu parler ?
Si tu veut dire genre une classe strign que tu réécris - vade retro
Marsh Posté le 18-09-2007 à 20:53:33
bah string ca vient de la STL non? donc on peut probablement trouver des implémentations diverses (dans mon précédent travail un gars avait recodé la STL plus ou moins).
Marsh Posté le 18-09-2007 à 21:01:57
bah SGI, gcc ou RogueWave, qui se valent toutes.
recider la STL , ca merite bansodogravier amha sauf besoin genre embarqué etc.
mais bon, string est quand même décrié de part son monolithisme
cf : http://www.gotw.ca/gotw/084.htm
Marsh Posté le 18-09-2007 à 21:07:17
ouais on ne comprenait pas trop le besoin, mais le Mr était responsable du framework et il était persuadé que c'était mieux d'avoir un framework personnalisé.
Marsh Posté le 18-09-2007 à 21:08:39
bien sur j'espere qu'il aura jamais a faire d el'algébre lineaire, LAPACK parait il c'est aps facile à recoder
C'est typiquement le genre de reflexion contre-productive. Encore uen victime du NBH ...
Marsh Posté le 19-09-2007 à 10:43:53
vu les implémentations de string ...
Je dirais que t'auras tendance à utiliser des * (quelque soit le type) quand :
- la conso de mémoire est importante, et le type ne fait pas de COW ou ce genre de truc (donc pas concerné ici pour string en général)
- tu es plus attaché à l'identité d'un object qu'à sa valeur
Marsh Posté le 19-09-2007 à 16:58:26
ok intéressant merci.
Ca m'a permis de chercher un peu sur le COW et de trouver d'autres trucs que je ne connaissais pas
Marsh Posté le 18-09-2007 à 19:51:07
Salut,
petite question, surement débile mais je fatigue alors je pose
Généralement il vaut mieux un vector de string ou de string*? dans mon code je traite la plupart du temps les string comme un type primitif mais ce n'est pas le cas. Par contre j'ai lu que ca a tout de même été bien codé pour l'envoie de paramètres ou autres mais au final je me demande ce qu'il vaut mieux:
string toto = "tata";
abc.add(toto)
ou
string *toto = new string("tata" );
abc.add(toto)
avec
template<T>
void add(t iObject)
{
vector.push_back(iObject);
}
Merci
---------------
"Phildar t'es vraiment une pute pas finie toi! Et Manu le gros porc arrete de t'marrer!"