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
Normal programlama dillerinde ( C++ değil ) '=' operatörünün aşırı yüklenmesi yasaktır .
Normal diliniz keskin mi? Ayrıca tanıdığın tek kişi? Ve bu çok kötü, aksi takdirde "arayüzler miras değildir" gibi cümleleri kesmezdim.
Yani bir operatör = var , şeker gibi değil, operatör olarak sayın. ve MQL'de - otomatik olarak oluşturulur, sayın!
Ve MQL'deki kopya oluşturucunun sizin yazdıklarınızdan çok daha kullanışlı olduğu gerçeğinden bahsetmeye bile değmez. Krch, birkaç yıl önce bir çaylak olarak kaldı ve kaldı. ChSV Deniska gibi büyüdü
... ChSV, Denis gibi büyüdü
Beni ayrıntılarda yakalayamazsınız, bu yüzden artık forumun geri kalanına yayıldınız. Aşağı ve alçak.
(not: üçüncü şahısta ve küçük bir harfle başkaları var, yani saygısız ve "hepiniz burada kimse değilsiniz")
Normal programlama dillerinde ( C++ değil ) '=' operatörünün aşırı yüklenmesi yasaktır .
Özellikle şablonu yaygın olarak kullandığımda, bu operatörü aşırı yükleme olasılığının olması benim için çok uygun. Ve diğer birçok durumda aşırı yüklenirim.
Ve bazılarında , operatörün aşırı yüklenmesi neredeyse tamamen yasaktır, çünkü. oldukça haklı bir şekilde orada bir antipattern olarak kabul edilir. Böyle bir aşırı yüklenmeyi, özellikle atama operatörünü kullanmadan önce, bu aptal dillerin bu aptal mimarlarının bunu neden yaptığını düşünmenin iyi olduğunu öneriyorum.
Operatörleri kullanmanın klasik bir örneği karmaşık sayılar ve matrislerdir. Yanlış bir şey görmüyorum. Sürekli ifadeler yazıyorum çünkü kod artık hantal değil ve mantık hemen görülüyor.
protozoa
Vasiliy Sokolov ve Schemer , lütfen küfür etmeyi bırakın.
Aksi takdirde Volchansky'nin srach provokatörlüğü nedeniyle yasaklanması gerekecek :)
Beni ayrıntılarda yakalayamazsın
Aksi takdirde Volchansky'nin srach provokatörlüğü nedeniyle yasaklanması gerekecek :)
iyi hayır. O zaman hikayeleri kim zehirleyecek? kışkırtıcı olarak benden daha iyi
Nefret edenlerin, dahası okuma yazma bilmeyenlerin kışkırtmalarına boyun eğmeyeceğim, bunun yerine kendi bakış açımı açıklayacağım:
Normal programlama dillerinde ( C++ değil ) '=' operatörünün aşırı yüklenmesi yasaktır . Ve bazılarında , operatörün aşırı yüklenmesi neredeyse tamamen yasaktır, çünkü. oldukça haklı bir şekilde orada bir antipattern olarak kabul edilir. Böyle bir aşırı yüklenmeyi, özellikle atama operatörünü kullanmadan önce, bu aptal dillerin bu aptal mimarlarının bunu neden yaptığını düşünmenin iyi olduğunu öneriyorum.
Peki, neden bu "normal programlama dilleri"?
Atama operatörünü aşırı yüklemek birçok durumda çok uygundur. Klasik bir örnek "akıllı işaretçiler" dir. Atama operatörü yalnızca işaretçiyi kopyalamakla kalmamalı, aynı zamanda AddRef() işlevini de yapmalıdır - aşırı yükleme ile tüm bunlar şeffaf bir şekilde yapılır.
Neden uygun? Ancak, nesneleri tamamen değil, işaretçileri kopyalamak çok daha mantıklı olduğu için. (Bu arada, göstergelerdeki dizilere işaretçi sağlamayan geliştiricileri tekrar suçluyorum ve tüm verileri kendi nesnenize kopyalamanız gerekiyor). Ve programın farklı yerlerinde yoğun kopyalama ile nesnenin gerekli olup olmadığını düşünmek zordur. Smartpointer'lar bu durumda çok kullanışlıdır.
Tabii ki, "çöp toplayıcı" gibi şeyler var - ama bu seçeneği daha az seviyorum, çünkü işaretçiler referansa ve kopya sayısına tam erişime sahipken çöp toplayıcı değil. İşaretçilerin artık ihtiyaç duyulmaz bir nesneyi yok ettiğinden ve çöp toplayıcının biraz gecikmeyle çalıştığından bahsetmiyorum bile.
Tabii ki, "çöp toplayıcı" gibi şeyler var - ama bu seçeneği daha az seviyorum, çünkü işaretçiler referansa ve kopya sayısına tam erişime sahipken çöp toplayıcı değil. İşaretçilerin artık ihtiyaç duyulmaz bir nesneyi yok ettiğinden ve çöp toplayıcının biraz gecikmeyle çalıştığından bahsetmiyorum bile.
Nefret edenlerin, dahası okuma yazma bilmeyenlerin kışkırtmalarına boyun eğmeyeceğim, bunun yerine kendi bakış açımı açıklayacağım:
Normal programlama dillerinde ( C++ değil ) '=' operatörünün aşırı yüklenmesi yasaktır . Ve bazılarında , operatörün aşırı yüklenmesi neredeyse tamamen yasaktır, çünkü. oldukça haklı bir şekilde orada bir antipattern olarak kabul edilir. Böyle bir aşırı yüklenmeyi, özellikle atama operatörünü kullanmadan önce, bu aptal dillerin bu aptal mimarlarının bunu neden yaptığını düşünmenin iyi olduğunu öneriyorum.
Şahsen Andrei'ye karşı koyamadım: kahretsin, kendini böyle rezil etme. Sonuçta, açıkçası aptalca şeyleri donduruyorsunuz: önce FP hakkında, şimdi operatörler hakkında. Hile yapmak istiyorsanız - hoş geldiniz: yetkili kaynaklara bağlantılar sağlayın, iyi gerekçelendirin, vb. Ve şu anda yaptığınız şey, kuduz ve en önemlisi, kesinlikle okuma yazma bilmeyen bir nefret. Bir programcı gibisin, hatta gerçek bir programcı gibisin - şimdiden böyle şeyler yazmak çok yazık.
Vasily, dillerin adlarını belirtmek istenir. "Normal", "bazıları", "bunlar" sözleri söylenenlere inanılırlık katmaz.Biz programcıyız, kurgu yazarı değiliz, açıklamalarımızda net olalım.
Ah-huh, GC, zorla başlatılsa bile her zaman her şeyi silmez. Bazen bu bir sorun haline gelir.
Nesnenin yüksek bir olasılıkla yeniden yaratılacağına inanıyorsa, onu silmez.