Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri - sayfa 215
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
Bu arada, bir dizi bildirirseniz static X x[n]; ve X'in bir simit varsa, o zaman ilk önce içindeki tüm eleman alanları, özel olanlar bile sıfıra ayarlanır ve ancak o zaman simit çağrılır. Bu nedenle, özel alanların geçersiz kılınmasında OOP paradigmasının ihlali yoktur.
Ancak tasarımcının çözmediği şey bir söve.
Bu arada, bir dizi bildirirseniz static X x[n]; ve X'in bir simit varsa, o zaman önce içindeki tüm eleman alanları, özel olanlar bile sıfıra ayarlanır ve ancak o zaman simit çağrılır. Bu nedenle, özel alanların geçersiz kılınmasında OOP paradigmasının ihlali yoktur.
İyi. Sıfırlamanın kurucudan ÖNCE gittiği ve bu nedenle her şeyin doğru olduğu ortaya çıktı. Teşekkür ederim!
MQL5'teki araştırmama baktım, daha kötü olabilir, hatta birkaç zaman dilimi için göstergedeki geçmişi pompalarım:
for deyimine yazılabilecek çok şey var)))
Bir for deyiminde void işlevine çağrı görmedim. Seçeneklerin geri kalanı oldukça yaygındır.
Sınıfta önemsiz alanlar (nesneler) varsa, tüm nesnenin sıfır başlangıcından sonra, bu alanlar için varsayılan c-tor'larının çağrılacağını eklemeyi unuttum.
Okuma:
Değer başlatmanın etkileri şunlardır:
Varsayılan olarak başlatılmış hakkında bilgi edinin:
UB!
Derleyicinin sizi sıfırlarla başlatması bir şey ifade etmez, bugün ve yarın, bir sonraki güncellemeden sonra başlatır ....
Okuma:
Değer başlatmanın etkileri şunlardır:
Varsayılan olarak başlatılmış hakkında bilgi edinin:
UB!
Derleyicinin sizi sıfırlarla başlatması bir şey ifade etmez, bugün ve yarın, bir sonraki güncellemeden sonra başlatır ....
".. eklemeyi unuttum..." yazım bir önceki yazıya ek olarak yazılmıştır:
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi hakkında forum
Mql5 dilinin özellikleri, incelikleri ve çalışma yöntemleri
mktr8591 , 2021.11.18 18:15
@A100
Mql'nin C++'dan türetildiğini hatırlarsak, o zaman bu örneklerin her ikisi (analogları) orada iyi çalışır, çünkü bu sınıflarda kurucu yoktur (yani, örtük bir kurucu vardır):
C++'da örnek:
Yani yapı/sınıfta const alanları yoksa işin mantığı doğrudur.
Belirli bir durumla ilgilendi - bir sınıfın kullanıcı tanımlı kurucuları olmadığında ve silinmemiş bir örtük kurucu olduğunda. Bu durumda, alıntıladığınız 1. paragraf geçerli değildir.
Paragraf " 2) geçerlidir Eğer T ne kullanıcı tarafından sağlanmış ne de silinmiş bir varsayılan kurucuya sahip bir sınıf türüdür (yani, örtük olarak tanımlanmış veya varsayılan bir varsayılan kurucuya sahip bir sınıf olabilir), nesne sıfır başlatılmış ve varsayılan başlatma için anlamsal kısıtlamalar kontrol edilir ve eğer T önemsiz olmayan bir varsayılan kurucuya sahipse, nesne varsayılan olarak başlatıldı ;""
Yani her şey uyuyor.
Okuma:
Değer başlatmanın etkileri şunlardır:
Varsayılan olarak başlatılmış hakkında bilgi edinin:
UB!
Derleyicinin sizi sıfırlarla başlatması bir şey ifade etmez, bugün ve yarın, bir sonraki güncellemeden sonra başlatır ....
Hata. doğru okumadı. Bu durumda:
2) Eğer T ne kullanıcı tarafından sağlanmış ne de silinmiş bir varsayılan kurucuya sahip bir sınıf türüdür (yani, örtük olarak tanımlanmış veya varsayılan bir varsayılan kurucuya sahip bir sınıf olabilir), nesne sıfır başlatılmıştır ve varsayılan başlatma için anlamsal kısıtlamalar kontrol edilir ve eğer T önemsiz olmayan bir varsayılan kurucuya sahipse, nesne varsayılan olarak başlatıldı ;İyi. Sıfırlamanın kurucudan ÖNCE gittiği ve bu nedenle her şeyin doğru olduğu ortaya çıktı. Teşekkür ederim!
Bir for deyiminde void işlevine çağrı görmedim. Seçeneklerin geri kalanı oldukça yaygındır.
for operatörünün 3. parametresine istediğinizi yazabilirsiniz, aslında for operatörü if () operatörünü {.....} ile değiştirebilir.
Not: Formun makrolarını da gördüm
for operatörünün 3. parametresine istediğinizi yazabilirsiniz, aslında for operatörü if () operatörünü {.....} ile değiştirebilir.
Not: Ayrıca formun makrolarını da gördüm
Noktalı virgülü kaldırın, aksi takdirde tüm anlam kaybolur)))
Noktalı virgülü kaldırın, aksi takdirde tüm anlam kaybolur)))
evet, bu doğru - bu örnek için makrolarda ; makro çağırırken ayarla, makroları biraz kullanıyorum - pratik yok