Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 217
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
Şimdi (b3110) karmaşık bir yapı nasıl geçersiz kılınır?
null oluşturucu.
Ve işlem sırasında sıfırlamanız gerekirse, ayrıca ekleyin. bunun için yöntem:
null oluşturucu.
Ve işlem sırasında sıfırlamanız gerekirse, ayrıca ekleyin. bunun için yöntem:
ZeroMemory'nin bir zamanlar izin verdiği gibi evrensel bir yol istiyorum.
Neyin değiştiğini düşünün - şimdi 1. üyenin sıfıra eşit olup olmadığını kontrol ediyorum x[i].i == 0 (önceden koşul x[i].x == 0.0 idi)
sonuç: yanlış
Ve ZeroMemory ile - doğru
Teşekkürler, düzelttim.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri
mktr8591 , 2021.08.12 19:43
Şimdi gecikmeli bir limit belirliyorum. Sonra elimle değiştiriyorum ve script ve ORDER_TIME_SETUP değişiyor.
Neyin değiştiğine bir örnek.
Sergi günlüğü.
ORDER_TIME_SETUP değişiklikleri . Böcek?
ZeroMemory'nin bir zamanlar izin verdiği gibi evrensel bir yol istiyorum.
Ve dizideki arabelleği kim serbest bırakacak? ZeroMemory, aslında, bunun bir analogudur.
https://docs.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa366920(v=vs.85)
Hiçbir yıkıcı çağrılmayacak. Buna göre, arabelleğe işaretçi dizede sıfırlanacak ve arabelleğin kendisi sızdıracaktır. Bellekle doğrudan çalışma bir mayın tarlası gibidir, biraz dikkatimi kaybettim ve o kadar)))
Davanız için örnek bir sızıntı:
Nesne artık arabelleğe yönelik işaretçiye sahip değil ve arabelleğin kendisi "sızdırılmış".
not. POD türlerini memset ve ZeroMemory aracılığıyla sıfırlamak mümkün değil
not. POD türlerini memset ve ZeroMemory aracılığıyla sıfırlamak mümkün değil
Kontrol etmedim, ancak dize arabelleğinin sıfıra ayarlandığını düşünüyorum.
Kontrol etmedim, ancak dize arabelleğinin sıfıra ayarlandığını düşünüyorum.
Ve neyden geçersiz kılınacak?)))
Buradaki her şey yetişkin olması gerektiği gibi)))
UPD: t1, t2 çıktılarıyla birlikte, böylece derleyici her şeyi optimize etmez)
UPD2: Tabii ki, arabellek için silme diyor olabilirler, ancak ben, bunun gibi, yarasadan hemen sonra, yapının içindeki dize yapıldığında durum için nasıl yaptıklarını çözemiyorum.
UPD3: Yardım, kişisel olarak bunun için çağrıldığını söylese de, bu, arabelleğin serbest bırakılması gerektiği anlamına gelir, umarım verileri işaretçiden zaten boş belleğe okurum.
Ve neyden geçersiz kılınacak?)))
görmek güzel olurdu
Print (GetAddress(a.a));Önce ve sonra.
görmek güzel olurdu
Önce ve sonra.
Beklenildiği gibi. İlk durumda, ikinci durumda bellek adresi 0
Ve neyden geçersiz kılınacak?)))
Buradaki her şey yetişkin olması gerektiği gibi)))
UPD: t1, t2 çıktılarıyla birlikte, böylece derleyici her şeyi optimize etmez)
UPD2: Tabii ki, arabellek için silme diyor olabilirler, ancak ben, bunun gibi, yarasadan hemen sonra, yapının içindeki dize yapıldığında durum için nasıl yaptıklarını çözemiyorum.
UPD3: Yardım, kişisel olarak bunun için çağrıldığını söylese de, bu, arabelleğin serbest bırakılması gerektiği anlamına gelir, umarım verileri işaretçiden zaten boş belleğe okurum.
Prensip olarak, uygulamada her şey oldukça önemsiz olmalıdır)