[UYARI, KONU KAPALI!] Forumu kirletmemek için herhangi bir acemi sorusu. Profesyonel, kaçırmayın. Sensiz hiçbir yerde. - sayfa 721

 
Abzasc :

Anlam - değişken üretmemek, bir çok koşul ve sayaçtır.




o zaman doğru yazmak ve dilin kısaltmalarını kullanmamak mantıklıdır:

 int a;
for (a= 0 ;a< 8 ;a++){
//здесь что то делаем
}
for (a= 0 ;a< 8 ;a++){
//делаем что нибудь другое
}
 
Abzasc :

Anlam - değişken üretmemek, bir çok koşul ve sayaçtır.

Peki, lütfen, derleyici böyle şeyler yapmanıza izin veriyor ...

 //+------------------------------------------------------------------+
int start()
  {
  bool flag;
  
   if (flag){
      for ( int a = 0 ; a < 10 ;a++){
         Print ( "a = " , a);
      }
   } else {
      for (a = 10 ; a > 0 ;a--){
         Print ( "a = " , a);
      }
   }
  }
//+------------------------------------------------------------------+
Varsayılan bayrak False olarak ayarlanmıştır, bu nedenle a değişkeninin bildirildiği ilk for döngüsü yürütülmez, bu da else dalında aynı "bildirilmemiş" değişkenin kullanılmasını engellemez :)
 
Abzasc :

koşul eğer

burada bir şeyler yapıyoruz

başka bir koşul varsa

başka bir şey yap

Anlam - değişken üretmemek, bir çok koşul ve sayaçtır.

Bu, değişkenin yeniden başlatılmasını gerektirmez. Her şeyi yazdıklarınıza göre yapın ve a değişkeniniz yeniden başlatmadan mantıksal dallarınızda doğru yerlerde kullanılacaktır. Bir kere duyurulsun ve kendinizin ve tüm insanlığın yararına kullanın... :) Asıl mesele kendinizi kaybetmemek, nerede ve neden kullanıyorsunuz...
 
ToLik_SRGV :

bu nedenle, a değişkeninin bildirildiği ilk for döngüsü yürütülmez.

Döngü her zaman yürütülmelidir.
 
IgorM :


o zaman doğru yazmak ve dilin kısaltmalarını kullanmamak mantıklıdır:

Bütün sorun {} yokluğundaydı, ya da ne? Teşekkür ederim!
 
artmedia70 :
Bu, değişkenin yeniden başlatılmasını gerektirmez. Her şeyi yazdıklarınıza göre yapın ve a değişkeniniz yeniden başlatmadan mantıksal dallarınızda doğru yerlerde kullanılacaktır. Bir kere duyurulsun ve kendinizin ve tüm insanlığın yararına kullanın... :) Asıl mesele kendinizi kaybetmemek, nerede ve neden kullanıyorsunuz...
Öyle yaptım, sayfa 715, 07/18/2010 14:56'da, sayaçtan sonra parantez koymadım ...
 

Yukarıda gösterilen "etki", MQL makinesinin ilk olarak EX4 dosyasını beyan edilen değişkenler için taradığını ve mantıksal dallardan bağımsız olarak bunları tam olarak oluşturduğunu kanıtlar. Bir yandan RAM tasarrufu sağlamadığı ortaya çıkıyor ve diğer yandan bence bu tarz en iyi seçenek olmasa da benzer tasarımlar oluşturabilirsiniz.

 
Abzasc :
Bütün sorun {} yokluğuydu, ya da ne? Teşekkür ederim!


bütün sorun değişken bildirimindeydi:

 int a;

Onu ilan ettim ve sonra gerektiğinde ve gerektiğinde kullandım ve tekrar tekrar bir değişken bildirimi yaptınız - büyük olasılıkla derleyici bunu kaçırmadı

peki, {}, döngünün bir yinelemesinde yürütülecek bir bloğun bildirimidir, eğer döngüde bir ifadeniz varsa, o zaman {} gerekli değildir ve eğer daha fazlaysa {} koyduğunuzdan emin olun, aksi halde o zaman döngünün neden doğru olarak kabul edilmediğini arayacaktır

Not: Programlamaya yeni başladıysanız, her zaman for'dan sonra kaşlı ayraçlar koyun, sonra rahat olun ve kaldırın

 
ToLik_SRGV :

IgorM'nin kodu hata vermiyor. Şubelerdeki söz sayısına bağlı olarak hafıza ayrılacağını sanmıyorum, bu yüzden her şey yolunda.
 
Abzasc :
Döngü her zaman yürütülmelidir.

Ve işte döngü. Bu, kullanılmayan bir blokta oluşturulan bir değişkenin hala "oyunda" nasıl olduğuna ve start() yöntemi boyunca, yeniden başlatmaya gerek kalmadan, çok daha az görünür ve kullanılabilir olacağına dair bir örnektir. yeniden kullanmadan önce sıfırlayın.