Genel sınıflar kütüphanesi - hatalar, açıklamalar, sorular, kullanım özellikleri ve öneriler - sayfa 27
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
Koleksiyonlar ve nesnelerin otomatik olarak silinmesi için neden koleksiyonlar oluşturuyorsunuz? :))) Manuel kontrol hakkında hiç konuşmadım. Bunu nereden aldın?)
Önce STL'yi öğrenin ve neden bahsettiğimi anlayın
doğru kopyalama nasıl yapılır, bu şablona örnek verir misiniz?
AddValue yöntemini yazmak için yardımı kullandım https://www.mql5.com/ru/docs/basis/types/classes
Bütün kafamı kırdım ama MQL'de örneğimde yazdığımdan başka bir çözüm göremiyorum!
Uygun veri depolama uygulamanızı gösterin
AMA yine de yanlış bir karar. Normal karar - STL gibi bir şey kullanmak. Senin durumunda std::list.
MQL5'in bu konuda sınırlayıcı olmadığını düşünüyorum. STL kaynaklarını aynı VS'den MQL'ye çevirmeyi deneyebilirsiniz
Senin durumunda, bunu kastetmiştim.
AMA yine de yanlış bir karar. Normal karar - STL gibi bir şey kullanmak. Senin durumunda std::list.
MQL5'in bu konuda sınırlayıcı olmadığını düşünüyorum. STL kaynaklarını aynı VS'den MQL'ye çevirmeyi deneyebilirsiniz
Bir kez daha tekrarlıyorum: MQL, C++ değildir,
ve MQL'deki bir nesneye yönelik bir işaretçi, esasen bir tanıtıcıdır ve C++'daki bir işaretçi, fiziksel bir bellek adresidir.
C++ kitaplıklarını bire bir MQL'ye taşımanın amacı nedir?
Bir kez daha tekrarlıyorum: MQL, C++ değildir,
ve MQL'deki bir nesneye yönelik bir işaretçi, esasen bir tanıtıcıdır ve C++'daki bir işaretçi, fiziksel bir bellek adresidir.
C++ kitaplıklarını bire bir MQL'ye taşımanın amacı nedir?
Tasarım kalıplarını düzgün bir şekilde uygulamak ve jenerik kullanarak potansiyel problemler yaratmamak.
Şaşırmış olabilirsiniz, ancak işletim sistemi işaretçileri de sanaldır. Hala fiziksel olanlara dönüştürülmeleri gerekiyor, ancak bu, işaretçilerle çalışmanın tamamen farklı bir seviyesi.
1'den 1'e taşıma işe yaramaz, ancak soyulmuş C ++ 03 mümkün sanırım. Şablonlar ve operatörler için destek de mevcuttur.
1. Şaşırmış olabilirsiniz, ancak işletim sistemi işaretçileri de sanaldır. Hala fiziksel olanlara dönüştürülmeleri gerekiyor, ancak bu, işaretçilerle çalışmanın tamamen farklı bir seviyesi.
2. 1'den 1'e taşıma işe yaramaz, ancak sadeleştirilmiş C ++ 03 mümkün sanırım. Şablonlar ve operatörler için destek de mevcuttur.
1. şaşırmadım
2. Pekala, gerçek bu - bir araya gelip C ++'dan bir bağlantı noktası yapsanız bile, yine de soruları gündeme getirecek, neden orijinalindeki gibi olmasın? - anlam?
MQL'den standart bir kitaplık var, onu kullanmak, gelecekte geliştiricilerin desteğinin sağlanacağına dair en azından bir miktar garanti var, kendimi birkaç kez yaktım - birkaç yıl önce yazılmış makalelerden grafik bileşenleri kullandım, ancak kullanımı rahat, Delphi bileşenleriyle çalışmayı çok andırıyor, ancak daha ciddi projeleri uygulamaya başladığımda makalenin yazarından bir sürü soru aldım ve tek bir cevap alamadım.
Seçkin programcılardan kimin söylediğini hatırlamıyorum ama şöyle bir şey: kod güzel veya okunaklı olmamalı, görevini yerine getirmeli.
sizinle sohbetimiz gibi, yanılmıyorsam, verilerinizle bir yapıyı listelerde saklamak istediniz, aynı görevler için yaptığım uygulamamı gösterdim - uygulamam işe yarıyor mu? - MQL program yürütme hatalarına neden olur mu? - İletişim sırasında öğrenmekle ilgileniyorum
Andrey Pogoreltsev :
C++03 mümkün bence. Şablonlar ve operatörler için destek de mevcuttur.
Eh, evet, başarı))
kod güzel veya okunabilir olmamalı, işini yapmalı
Bu sadece siz onu değiştirmek isteyene kadar geçerlidir.
Her nasılsa, CLinkedList sınıfında mevcut bir hatayı zaten işaret ettim, ancak onu çoğaltacağım. Buradaki listenin başlangıç ve bitiş düğümleri birbirine kapalıdır: Son düğümün yanındaki ilk düğümü ve ilkin Önceki - son düğümü gösterir. Sonuç olarak, standart yineleme döngüsü sonsuz bir döngüye dönüşür:
C#'da tabi ki böyle bir saçmalık yok. Son düğümün Sonraki'si , ilk düğümün Önceki'si gibi sıfırdır.
Bunun geliştiriciler tarafından icat edilen bir tür “özellik” olup olmadığını bilmiyorum (bundan herhangi bir fayda görmesem de), ancak her durumda, kütüphanenin davranışı orijinaline uygun olmalıdır.
Zaten bir şekilde CLinkedList sınıfında mevcut bir hatayı işaret ettim, ama onu çoğaltacağım. Buradaki listenin başlangıç ve bitiş düğümleri birbirine kapalıdır: Son düğümün yanındaki ilk düğümü ve ilkin Önceki - son düğümü gösterir. Sonuç olarak, standart yineleme döngüsü sonsuz bir döngüye dönüşür:
C#'da tabi ki böyle bir saçmalık yok. Son düğümün Sonraki'si , ilk düğümün Önceki'si gibi sıfırdır.
Bunun geliştiriciler tarafından icat edilen bir tür “özellik” olup olmadığını bilmiyorum (bundan herhangi bir fayda görmesem de), ancak her durumda, kütüphanenin davranışı orijinaline uygun olmalıdır.
Burada yine ne oluyor? LinkedList konusunda oldukça yeterli gönderileri silerler. Bu yüzden, Avrupa'da bir yerde oturmuş, isimsiz bir moderatör olduğunu ve nefret edilen Rusların gönderilerini öfkeyle kıkırdayarak sildiğini hayal ediyorum. Bir tür çöplük, yazma isteği yok oluyor.