Hatalar, hatalar, sorular - sayfa 1337

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
Geliştiriciler mizahsız değildir
Benim için bu yükleniyor ve "İndir", bir ağacı sağa veya sola sallamak gibi bir şey.
"Sallanan" olsaydı, onu bir ağaçla karşılaştırmak mümkün olurdu: "sağ / sol" - ayrıca mizahla da birliktesiniz (tamamen "sağ / sol")
teknede "salıncak",
Ve hakkında ("sağa / sola kaynaşmış") benim canım değil, firefox muff.
BR-8.15 ve BR-10.15 karakterlerinde buggy, geri kalan BR periyotları normaldir.
1150 gerçek açılış win7 x64 max inşa
Fragmandaki .mp4 video dosyaları.
+ M1 periyodunda (örneğin)
Düğmeyi bırakırsanız - "yeni tiklerin gelmesiyle grafik otomatik olarak sona kaydır" - grafik başlangıca kaydırılır
daha sonra "SON" tuşuna basarsanız, grafik bir saniye boyunca sona hareket eder ve tekrar - grafik başlangıca gider.
Her nasılsa daha önce dikkat etmedim, ama şimdi, büyük sınıf nesneleri dizileriyle çalışırken, aşırı büyük bir bellek tüketimi fark ettim. Sizeof () üzerinde kontrol edildi - kesinlikle boş sınıf 16 bayt kaplar. Ve buradaki sınıfların yönetildiği göz önüne alındığında, işaretçiye 8 bayt daha ekliyoruz. Toplam 24 bayt. Nedense çok zor.
Belgelere baktım ve orada bulduğum şey bu:
Soru şudur: neden basit sınıflar (mirasa katılmayan) bir sanal işlevler tablosuna ihtiyaç duyarlar? Sonuçta derleme aşamasında bu sınıflar hakkında her şey biliniyor.
İçlerindeki yöntemlerin sanal yöntemlerle tam olarak aynı şekilde çağrıldığı ortaya çıktı, yani. tabloda ek bir erişim yeniden yönlendirmesi var. Ve övülen derleyici optimizasyonu nerede? O zaman C++ ile bir tür performans karşılaştırmasını nasıl talep edebilirsiniz?
Ek olarak, MQL bazı sanal çağrıları bir tablo aracılığıyla değil, normal bir işleve çağrı olarak gerçekleştirir.
Renat'ın yazdığı gibi, MQL'deki sınıflar gerçekten her zaman 8 bayt + 8 bayt meta bilgi kaplayan sanal bir tabloya sahiptir.
Geliştiriciler mizahsız değildir
Benim için bu yükleniyor ve "İndir", bir ağacı sağa veya sola sallamak gibi bir şey.
Vurgulanan varsayım yanlıştır, tablo üzerinden yalnızca sanal yöntemler çağrılır ve ifadem yalnızca MQL derleyicisi için geçerli değildir.
Ek olarak, MQL bazı sanal çağrıları bir tablo aracılığıyla değil, normal bir işleve çağrı olarak gerçekleştirir.
Renat'ın yazdığı gibi, MQL'deki sınıflar gerçekten her zaman 8 bayt + 8 bayt meta bilgi kaplayan sanal bir tabloya sahiptir.
Cevabın için teşekkürler. Ama yine de kimseden miras alınmayan ve dolayısıyla sanallaştırmaya katılmayan basit bir sınıfın neden bir masaya ihtiyacı olduğunu açıklayabilir misiniz? Renat sanal yıkıcılardan bahsetti ama bu durumda sanallaştırılacak bir şey yok. Sadece bir yıkıcı var, bu yüzden satır içi de olabilir, değil mi? Böylece yalnızca 8 baytlık meta veri bırakılır.
Yürütme sistemi (MQL programının ortamı), sınıfın en az 16 bayt aldığı gerçeği dikkate alınarak oluşturulmuştur.
854 windows 10 64 x oluştur
danışmanları görselleştirme ile test ederken, teste sahip mevcut çalışan dışında önceden açılmış herhangi bir pencereyi kapatmaya çalıştığınızda, test kesintiye uğrar ...
Orta fare düğmesi ve bağlam menüsü aracılığıyla kapatma denendi...