Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
Global nesneler, varsayılan bir kurucu ile başlatılır . İlkel (bizim durumumuzda, dize hariç her şey) türleri için bu 0'dır. Ancak yığında tahsis edilen bellek (okunan değişkenler) için başlatma yapılmaz. Bu nedenle, global değişkenler başlatılamaz, bu durumda sıfıra eşit olacaklarını unutmayın. Ancak başlatma eksikliği (aynı zamanda, derleyici uyarılarından kaçınmak için hemen alışın , tabii ki, ne yaptığınızı açıkça bilmiyorsanız) - başlatılmamış bir değişkeni okumak tanımsız davranışa yol açtığı için bu zaten daha ciddi. Örneğin, bu kod yayın ve hata ayıklama yapılarında farklı davranır ve hiç kimse derleyici sürümünü veya optimizasyon ayarlarını değiştirdiğinizde davranışının da değişmeyeceğini garanti edemez:
Merhaba Vladimir! Açıklama için teşekkürler.
Saygılarımla, Vladimir.
Peter, ancak global değişkenlere gelince , literatürde global değişkenlerin önceden belirlenmesi gerektiğini henüz bulamadım. Bu konudaki bilginizi artırmak için bir kaynağa bağlantınız var mı? MQL5 Referansında başlatma hakkında açık bir gösterge yoktur , işte ondan bir alıntı:
Bool türü, sayısal gösterimi sırasıyla 1 veya 0 olan true (true) veya false (false) mantıksal değerlerini depolamak için tasarlanmıştır .
Örnekler:
bool a = doğru ;
bool b = yanlış ;
bool c = 1 ;
Dahili gösterim, 1 bayt boyutunda bir tamsayıdır. Unutulmamalıdır ki mantıksal ifadelerde bool türü yerine başka tamsayı veya gerçek tür veya bu tür ifadelerin kullanılmasına izin verilir, derleyici hata üretmeyecektir. Bu durumda sıfır değeri yanlış, diğer tüm değerler doğru olarak yorumlanacaktır.
Komut dosyası koduna eklendi:
Şimdi, betiğin yorumlarında, programlama okulunun 1. sınıfının öğrencisi için, bool veri türü için önceden tanımlanmış değerin neden tam olarak false olması gerektiğini ve true olmaması gerektiğini bir şekilde açıkça belirtmek gerekir.
Saygılarımla, Vladimir.
Komut dosyası koduna eklendi:
Saygılarımla, Vladimir.
MQL5 programlama dilini öğrenmeye ve bu konudaki katılımcılar tarafından bir görevin yürütülmesinin devamı olan script kodunu yayınlamaya devam ediyorum. Komut dosyası tüm modlarda test edildi. Herhangi bir sorun tespit edilmedi. Başlangıç olarak, minimum sayıda giriş parametresi uyguladım. Komut dosyası kodu İngilizce olarak yazılmıştır ve materyalin özümsenmesini kolaylaştırmak için koda yapılan yorumlar Rusça'dır. Bu senaryoda, daha önce söz verdiğim gibi, bir programlama okulunun 1. sınıf öğrencisinin erişebileceği bir sunumda her şeyi açıklamaya çalıştım.
Saygılarımla, Vladimir.
Vladimir, böyle yazamazsın. Dış değişkenler üzerindeki fonksiyonların çalışmasını kapatmayın. Şimdiye kadar sizin için tek istisna, girdi değişkenlerinden değerler almaktır.
Merhaba Vasili! Dürüst olmak gerekirse, kalın harflerle yazılanların anlamını tam olarak anlamadım. Lütfen, lütfen ne söylemek istediğinizi daha ayrıntılı açıklayın.
Saygılarımla, Vladimir.
Merhaba Vasili! Dürüst olmak gerekirse, kalın harflerle yazılanların anlamını tam olarak anlamadım. Lütfen, lütfen ne söylemek istediğinizi daha ayrıntılı açıklayın.
Saygılarımla, Vladimir.
Genel değişkenler kullanmayın. Neden kullanılamazlar, daha sonra yazacağım.
Bu konuyla ilgili güzel bir anekdot var:
- Soru: c++'da global bir değişken için en uygun tür nedir?
- Cevap: //
Genel değişkenler kullanmayın. Neden kullanılamazlar, daha sonra yazacağım.
Şimdi net. Teşekkürler, cevabınızı bekleyeceğim, neden global değişkenleri kullanamıyorsunuz.
Saygılarımla, Vladimir.