Hatalar, hatalar, sorular - sayfa 1356
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Çok havalı ve en önemlisi ideolojik olarak doğru. için iki el!
Ancak bu, önemli bir rahatsızlık getireceği basit bir nedenden dolayı yapılmaz ve yalnızca ideolojik doğruluk bir avantaj olacaktır.
O zaman dize de belirli bir sayı kümesidir. Ve bir resim aynı zamanda bir sayı ve bir mikro devre üzerindeki elektriksel bir dürtüdür...
Genel olarak elektrik mühendisliğini öğren meslektaşım.
C++'da işaretçiler ile MQL/C# ve diğer bazı dillerde tanımlayıcılar arasında böyle bir karşılaştırma yapabilirsiniz.
Görev - Bir arkadaşımla canlı sohbet etmek istiyorum.
1. İşaretçiler. Sokağı, ev numarasını ve daireyi biliyoruz. Adrese gidiyoruz, bir arkadaşı uyandırıyoruz, bir balon çıkarıyoruz, şiddetle seviniyor, iletişim kuruyoruz))
2. Tanımlayıcılar. Tam adresi bilmiyoruz, yabancıların eve girmesine izin verilmiyor, örneğin burası FSB binası. Evde bir arkadaşının adıyla (tanımlayıcıya göre) adres vermeyi reddeden, eve girmesine (adres alanına) izin vermeyen bir kontrol noktası var. Güvenlik bir arkadaşını arar ve gitmesini ister. Dışarı çıkıyor, mutlu bir şekilde bir baloncuk çıkarıyorsunuz, tıslıyor, - nesiniz !!! derhal kaldırın!!! Böylece yürüdük ... Elinizde açılmamış bir şişeyle eve yürürken, tanımlayıcıların işaretçi yetenekleri karşılığında güvenlik sağladığını çok iyi anlıyorsunuz.
Genel olarak elektrik mühendisliğini öğren meslektaşım.
Başka argümanlar var mı?
İşaretçilerin açıkça sayılara dönüştürüldüğü kod parçalarım var (harici yazma/okuma sistemleriyle arayüz oluşturmak için ve ayrıca hata analizi ve hata ayıklama için), bu yasaklanırsa esneklik azalır ve yeniden yapılması gerekir.
Bu arada, ilk durumda bir nesneye açık erişim sağlamak için * ve & operatörlerini MQL'ye dahil etmeye ve ikinci durumda (hantal GetPointer yerine) nesne işaretçisini almaya ne dersiniz? Ve yıldız işareti basitçe umutsuzca gereklidir. Dilde yerini alacak bir şey yok. Bu olmadan, A100'ün biraz daha yukarıda belirttiği gibi, nesnelerin kendileri yerine bazı eylemlerin işaretçilerle gerçekleştirildiği gibi durumları kontrol etmek imkansızdır. Şahsen benim için bu sürekli bir sorun, her zaman tetikte olmalıyım veya her yerde A.operator=(B), A.operator!=(B)'yi açıkça belirtmeliyim, yani. özlülük kaybolur ve operatör aşırı yüklemesi aslında anlamını kaybeder.
Bir şekilde bu sorunu zaten gündeme getirdim, ancak konu öldü. Sonunda bu soruyu bitirelim.
Dış değişkenler hakkında soru.
Program yürütülürken extern değişkeni değiştiğinde bir durumla karşılaştım ancak zaman dilimi değiştiğinde yine özellikler penceresinde ayarlanan değeri alıyor. Örneğin, başlatmadan önce TradeEnable değerini EnableAll olarak ayarlarsam ve program yürütüldüğünde değeri EnableBuy olarak değiştirirsem, grafiği başka bir zaman dilimine tıkladığımda değer EnableAll'a dönecektir. Timer olayındaki değeri tanımlıyorum ve Comment üzerinden gösteriyorum, hata olamaz.
Grafikler arasında geçiş yapmak, TradeEnable değişkenini hiçbir şekilde etkilemez. Yardımın okunması - Giriş değişkenlerinin aksine, harici değişkenlerin değerleri program çalışması sırasında programlı olarak değiştirilebilir.
OnDeinit ve OnInit'e bu şekilde sahibim.
S: Bir şey anlamıyorum veya TradeEnable'ı değiştirmek bir çalışma zamanı hatası mı?
Sonunda bu soruyu bitirelim.
Orada, diğerlerini korumak için iki operatör (== ve !=) feda edilir.
Çıktıyı şablonda görüyorum
Operatör==(!=) tanımlıysa, çağrılır. Tanımlanmamışsa, işaretçiler eşitlik için karşılaştırılır. Operatör==(!=) tanımlanmışsa ve eşitlik için işaretçileri karşılaştırmak gerekiyorsa, bu belirtilen şablon kullanılarak yapılabilir.
Mevcut sistemdeki değişiklikler minimum düzeydedir ve en önemlisi, operatörü aşırı yüklemeden eşitlik için işaretçileri basitçe karşılaştıranları etkilemeyecektir==(!=)
Orada, diğerlerini korumak için iki operatör (== ve !=) feda edilir.
Çıktıyı şablonda görüyorum
Operatör==(!=) tanımlıysa, çağrılır. Tanımlanmamışsa, işaretçiler eşitlik için karşılaştırılır. Operatör==(!=) tanımlanmışsa ve eşitlik için işaretçileri karşılaştırmak gerekiyorsa, bu belirtilen şablon kullanılarak yapılabilir.
Mevcut sistemdeki değişiklikler minimum düzeydedir ve en önemlisi, operatörü aşırı yüklemeden işaretçileri basitçe karşılaştıranları etkilemeyecektir==(!=)
Karşılaştırma, sorunun yarısıdır. Bir de görev var. Evet ve şablon sadece bir koltuk değneği. Tabii ki, hem karşılaştırma hem de atamayı ayrı işlevler üzerinden yapabilirsiniz, ama ne anlamı var? Bu, geliştiricileri sağlam bir karar vermeye ikna etmekle ilgilidir.