Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 110
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik alım-satım stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Hatalar, hatalar, sorular
fxsaber , 2018.12.01 11:15
Süper fren tasarımı1 milyon satırlık 40 MB'lık bir dosya 18 saniyede okunur.
Aynı çıktı, ancak farklı şekilde yapıldı
0,5 saniyede tamamlanır.
auto_ptr'nin basit analogu (kullanımdan kaldırıldı). Not: oldukça benzer değil,
...
https://habr.com/post/140222/
pavlick_
Operatör= içinde, başına bir satır eklemeniz gerekir:
Muhtemelen, kendinizi bunun gibi bir şeyle sınırlandırmalısınız (hiç kopyalayamazsınız):
auto_ptr için neden bir kopya oluşturdum? µl - öğesinin eğriliği nedeniyle, bir yığın nesnesini CArrayObj öğesine kopyalamak için, yapıcıyı birkaç kez çağırarak bir grup nesne oluşturmanız gerekir. Ama buna değer olduğunu düşünmüyorum. Bu bağlamda, ilk mesajı yıkacağım.auto_ptr için neden bir kopya oluşturdum? µl'nin eğriliği nedeniyle - bir yığın nesnesini CArrayObj'e kopyalamak için, yapıcıyı birkaç kez çağırarak bir grup nesne oluşturmanız gerekir.
Ve neden "eğrilik mkl"?
Ve neden "eğrilik mkl"?
Önemsiz bir görev - bir diziye bir yığın nesnesinin bir kopyasını eklemek için bu + ile sonuçlanır, benim hiç ihtiyacım olmayan varsayılan bir kurucu yazmanız gerekir:
Ölümcül değil, evet, Q'da init () yapabilirsiniz, bu sorunu biraz düzeltir, ancak yine de - tiksintiye neden olur. Ve elinizde kopyalanmış bir auto_ptr olduğunda, her şey iki satırda olur, ancak oyun muma değmez. Belki çok seçici, mükemmeliyetçilik.
Önemsiz bir görev - bir diziye bir yığın nesnesinin bir kopyasını eklemek için bu + ile sonuçlanır, benim hiç ihtiyacım olmayan varsayılan bir kurucu yazmanız gerekir:
Ölümcül değil, evet, Q'da init () yapabilirsiniz, bu sorunu biraz düzeltir, ancak yine de - tiksintiye neden olur. Ve elinizde kopyalanmış bir auto_ptr olduğunda, her şey iki satırda gerçekleşir, ancak oyun muma değmez. Belki çok seçici, mükemmeliyetçilik.
Ama sonuçta, C++'da her şey tamamen aynı, bu yüzden eğrinin neden µl olduğu çok açık değil.
Ve sizin durumunuzda, bir kopya oluşturucu ayarlamak ve öğeleri tek satıra eklemek daha kolaydır:
ar.Add( new Q(q));
Önemsiz bir görev - bir diziye bir yığın nesnesinin bir kopyasını eklemek için bu + ile sonuçlanır, benim hiç ihtiyacım olmayan varsayılan bir kurucu yazmanız gerekir:
Ölümcül değil, evet, Q'da init () yapabilirsiniz, bu sorunu biraz düzeltir, ancak yine de - tiksintiye neden olur. Ve elinizde kopyalanmış bir auto_ptr olduğunda, her şey iki satırda gerçekleşir, ancak oyun muma değmez. Belki çok seçici, mükemmeliyetçilik.
Yani her şey yine de oluyor - sadece auto_ptr'nizin arkasına gizlenmiş durumda...
Burada herhangi bir sorun görmüyorum.
Ben, sertleşmiş yaşlı bir osuruk olarak - hafızanın otomatik olarak silindiği C # yaklaşımını sevmiyorum. Benim için, onları isteyen kişi, oradaki bazı "çöp toplayıcıları" değil, nesneleri silmekten sorumlu olmalıdır.
Ama sonuçta, C++'da her şey tamamen aynı, bu yüzden eğrinin neden µl olduğu çok açık değil.
Ve sizin durumunuzda, bir kopya oluşturucu ayarlamak ve öğeleri tek satıra eklemek daha kolaydır:
Nasıl aynı? Otomatik olarak bir kopya oluşturucu vardır ve tüm işlemler şöyle görünür:
Evet ve sizin durumunuzda bir kopya oluşturucu ayarlamak ve bir satıra öğeler eklemek daha kolaydır.
Doğal olarak, bu bir örnek için bir oyuncak sınıfıdır, gerçekte bazı verilerdir, belki de çoktur, bir kopya oluşturucu yazmak hiç bir seçenek değildir. Gerekli yerleri sarmalayıcılara sardık ve özel bir kurucuya gerek kalmadı.
Yani her şey yine de oluyor - sadece auto_ptr'nizin arkasına gizlenmiş durumda...
Burada herhangi bir sorun görmüyorum.
Ben, sertleşmiş yaşlı bir osuruk olarak - sadece belleğin otomatik olarak silindiği C # yaklaşımını sevmiyorum. Bana göre, onları talep eden kişi, oradaki "çöp toplayıcıları" değil, nesneleri silmekten sorumlu olmalıdır.
Mikrolitrelerde akıllı işaretçiler olmadan yapabilirsiniz. Çöp toplayıcı != akıllı işaretçiler, en azından istisnalar nedeniyle onlarsız yapamazsınız. Çöp toplayıcıyı da sevmiyorum.