confusion sur le comportement des variables - page 3

 
valenok2003:


Vlad, il y a une erreur ici, l'initialisation se fait à chaque fois que vous changez les paramètres externes. Et c'est exactement ce dont il s'agit, s'il s'agit de l'inite.

Cher Valenki.

Il ne s'agit pas d'Internet.

lisez le dernier message avec un exemple

 
wlad:

Voici un exemple similaire

la valeur de la première variable est transmise à la deuxième variable une seule fois et la valeur de la deuxième variable ne doit pas changer lors de l'exécution ultérieure du programme

mais à chaque fois que la première variable est modifiée, la valeur de la deuxième variable change, ce qui ne devrait pas être le cas

extern string Value = "O";
       
string temp_="";
bool   firsttime=true;
       
int start() {
   string txt=StringConcatenate( "  Value: ",Value,"\n",
                                 "  temp_: ",temp_,"\n",
                                 "  firsttime: ",firsttime);    
   if(firsttime) { temp_=Value; firsttime=false; } // значение присваевается тольо ОДИН раз   

   Print(txt);
   Comment(txt);                              
}

la première variable est Value ou temp_? comment la changer ? Vous changez la valeur de Value in the net, non ?

puis vous appuyez sur OK, et

les variables sont réinitialisées à leurs valeurs originales telles que vous les avez décrites.

string temp_=""; 
bool   firsttime=true;

chaque fois que vous changez de valeur via le set , cette procédure est répétée

 

essayez de changer la valeur par programme

extern string Value = "O";
       
string temp_="";
bool   firsttime=true;
int Cnt = 0;
       
int start() {
   
   Value  = "O "+Cnt; 
   Cnt++;
   string txt=StringConcatenate( "  Value: ",Value,"\n",
                                 "  temp_: ",temp_,"\n",
                                 "  firsttime: ",firsttime);    
   if(firsttime) { temp_=Value; firsttime=false; } // значение присваевается тольо ОДИН раз   
   Print(txt);
   

et vous verrez que temp_ et firsttime changeront une fois et ne changeront pasà nouveau

 
valenok2003:

essayez de changer la valeur par programme

et vous verrez que temp_ et firsttime changeront une fois et ne changeront plus jamais

explicitement

Je ne parlais que de la modification d'une variable externe.

 
valenok2003:

la première variable est Value ou temp_? comment la changer ? Vous changez la valeur de Value in the net, non ?

Puis vous appuyez sur OK, et

et les variables sont réinitialisées à leurs valeurs originales telles que vous les avez décrites.

Chaque fois que vous modifiez la valeur avec set , cette procédure est répétée.


Oui, pas l'original, mais avec une variable externe extern string

vous ne voulez pas lire attentivement

Je l'ai déjà écrit plusieurs fois

le problème se produit uniquement avec les variables de type string; avec les autres types, aucun problème !


 
valenok2003:

la première variable est Value ou temp_? comment la changer ? Vous changez la valeur de Value in the net, non ?

Puis vous appuyez sur OK, et

et les variables sont réinitialisées à leurs valeurs originales telles que vous les avez décrites.

chaque fois que vous modifiez la valeur via set , cette procédure est répétée.

Où avez-vous obtenu cette fausse information ?

vous feriez mieux de vérifier et de voir par vous-même que c'est faux.

Tout est couvert dans l'aide.

Je vous ai donné un exemple

et tu inventes des choses qui ne sont pas là.

 
en général, j'aimerais que les développeurs fassent attention à
 
wlad:
en général, j'aimerais que les développeurs fassent attention à

On devrait peut-être échanger nos surnoms ? Ou c'est juste une blague ?
 

testez-le vous-même.

et vous verrez de quoi il s'agit.

 
wlad:
en général, j'aimerais que les développeurs fassent attention à

Qu'est-ce que les développeurs ont à voir là-dedans ? Voulez-vous qu'ils stockent votre variable sur leur serveur ? Votre ordinateur se bloque et redémarre à cause d'une panne de courant ?