const et optimisation

const et optimisation - C++ - Programmation

Marsh Posté le 28-03-2004 à 10:50:14    

dans le k&r(ansi c) il est dit qu'une variable specifiée const peut etre placée en mémoire morte et donc d'optimiser son acces
 
seulement j'aimerais savoir si en c++ avec visual c++ 6.0 on peut compter la dessus?

Reply

Marsh Posté le 28-03-2004 à 10:50:14   

Reply

Marsh Posté le 28-03-2004 à 13:06:26    

en mémoire morte :heink: ?


---------------
Topic .Net - C# @ Prog
Reply

Marsh Posté le 28-03-2004 à 13:13:58    

bah, const, elle va donc pas bouger, et si elle bouge pas, c'est qu'elle est morte [:spamafote]


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 28-03-2004 à 13:18:00    

Citation :

The purpose of const is to announce objects that may be placed in read only memory


 
on dit ausi memoire morte en francais pour designer ce segment de code?

Reply

Marsh Posté le 28-03-2004 à 13:19:27    

kadreg a écrit :

bah, const, elle va donc pas bouger, et si elle bouge pas, c'est qu'elle est morte [:spamafote]

non, c'est juste un truc pour le compilateur ça.
 
par contre une "chaine" ou une static const type var;
vont selon la plateforme, se retrouver dans une zone mémoire accessible en lecture seule

Reply

Marsh Posté le 28-03-2004 à 13:24:04    

ouai, en static ok

Reply

Marsh Posté le 28-03-2004 à 13:31:49    

mais ça veut pas dire morte, ni que l'accès est optimisé

Reply

Marsh Posté le 28-03-2004 à 13:33:35    

oui morte c moi qu'il l'ai dit, desole c'est un abut de language
 
a propos des chaines constantes,  
 
char *pmessage="now is the time";
 
ils disent "the result is undefined if you try to modify the string contens" :D
 
mais ya pas ecrit const char *pmessage="now is the time";  

Reply

Marsh Posté le 28-03-2004 à 13:44:42    

et ? encore une fois, le const c'est juste pour le compilateur, pour qu'il puisse te taper sur les doigts. et toujours dépendant du compilateur les "chaines" peuvent etre en mémoire en lecture seule (donc modification -> erreur) ou accessible en écriture  ... donc on peut rien conclure, sauf qu'il ne faut pas y toucher, donc les marquer const

Reply

Marsh Posté le 28-03-2004 à 13:46:15    

ok, c'est bien ce que je voulai dire, et j'ai bien conscience que const c'est un outil du compilo

Reply

Marsh Posté le 28-03-2004 à 13:46:15   

Reply

Marsh Posté le 28-03-2004 à 13:55:51    

ben t'as beau mettre un const, tu peux toujours te permettre un passe droit, et la compilo verra plus rien.

Reply

Marsh Posté le 28-03-2004 à 13:57:08    

mais pas en faisant  
const char * const pmessage="now is the time"; ?

Reply

Marsh Posté le 28-03-2004 à 13:58:13    

c'est bien ce que je dis : t'as toujours pas compris

Reply

Marsh Posté le 28-03-2004 à 13:58:40    

bon ok

Reply

Marsh Posté le 28-03-2004 à 13:59:24    

je voit le truc g v essayer, avec les pointeur ya toujours moyen

Reply

Marsh Posté le 28-03-2004 à 14:01:41    

rien à voir.
 
quand tu déclares
 
<qualificatif> <type> variable = <valeur d'initialisation>;
 
tout ce qui est à gauche du '=' ne concerne que la l-value et n'a absolument aucune influence sur la r-value

Reply

Marsh Posté le 28-03-2004 à 14:03:14    

ok

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed