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
Katılıyorum)) Bu artı benim)))
buraya yazarken her şey böyle gelişti
onlar. olumlu değil, mucl'de önceki seçenek doğru şekilde çalışacak mı?
buraya yazarken her şey böyle gelişti
onlar. olumlu değil, mucl'de önceki seçenek doğru şekilde çalışacak mı?
Bu seçenek evet
Yalnızca iki örtük dynamic_cast'i var1) Vurgulanan. Yalnızca sonraki satırda kontrol et))) Örnekte, yaratıcısı ya, tam tersi, önce kontrol et, sonra yayınla)
2) JSONObject içinde bir halef görünüyorsa, neden düşsün?
1) Aslında bu konu çerçevesinde aynı kod birkaç gündür tartışılıyor: burada ve burada ve burada .
Kütüphanenin kullanıcı kullanım örneklerinden birinde bir sorun bulmuş olmaları - aferin, teşekkürler.
Ancak kütüphaneyi bir bütün olarak kullanma mantığında sorundan bahsetmişsiniz ama aslında sorunun belirli bir örnekle ilgili olduğu ortaya çıktı.
2) Bir şeyin düşmesi gerektiği ifadesini nerede gördünüz?
Hayır, çok daha kötü olabilir - kod iyi çalışır, ancak yanlış bir sonuç verir.
2) Bir şeyin düşmesi gerektiği ifadesini nerede gördünüz?
Hayır, çok daha kötü olabilir - kod iyi çalışır, ancak yanlış bir sonuç verir.
Tabii ki IMHO, ama eğer bir kütüphanedeysem, bir nesneye temel sınıfa bir işaretçi ile eriştiğimde, tanımsız davranış alıyorum, o zaman bu kütüphane kılavuzuna yansıtılmalı (orada mı?), ama olmalı böyle olma)
Hayır, çok daha kötü olabilir - kod iyi çalışır, ancak yanlış bir sonuç verir.
olası değil, örneğim temel sınıftan bir yöntemdir, JSONObject * yürütmenin sonucudur, bu ayrıştırıcıya bir işaretçidir ve varis yönteminde json ayrıştırması, "çivilenmesi" gereken alınan işaretçiyle gerçekleşir. daha önce bahsettiğim sorularım
oldukça fazla kontrol var, önerilen örnekte 3 adet var ve türetilmiş sınıfta getInt (), getDouble () yöntemlerine yapılan her çağrı kontrollerle gerçekleşiyor
Tabii ki IMHO, ama eğer bir kütüphanedeysem, bir nesneye temel sınıfa bir işaretçi ile eriştiğimde, tanımsız davranış alıyorum, o zaman bu kütüphane kılavuzuna yansıtılmalı (orada mı?), ama olmalı böyle olma)
Yine yirmi beş, işaretçiler ve işaretçiler olmayanlar, kılavuzlar vb. ile ne ilgisi var. ?
Örneğinizde, MANTIĞIN bir kısmı işlevden, yani jv.isObject() denetiminin dışına atılacaktır.
Bu MANTIK, dynamic_cast aracılığıyla bir kontrol ile değiştirilmiştir.
Kütüphanenin mevcut sürümü için her şey yolunda, ancak teorik olarak, bir sonraki sürümde temel sınıf olarak JSONObject kullanan yeni bir sınıf belirirse, örneğinizin onunla doğru çalışabileceği bir gerçek değildir. .
Yine yirmi beş, işaretçiler ve işaretçiler olmayanlar, kılavuzlar vb. ile ne ilgisi var. ?
Örneğinizde, MANTIĞIN bir kısmı işlevden, yani jv.isObject() denetiminin dışına atılacaktır.
Bu MANTIK, dynamic_cast aracılığıyla kontrol edilerek değiştirildi.
Kütüphanenin mevcut sürümü için her şey yolunda, ancak teorik olarak, bir sonraki sürümde temel sınıf olarak JSONObject kullanan yeni bir sınıf belirirse, örneğinizin onunla doğru çalışabileceği bir gerçek değildir. .
Yani diğer seçenek de onunla çalışamayacak)
UB yoktur, mql cast, dynamic_cast'i de içerir . yanlış bir işaretçi durumunda sadece her şey düşecek.
Bu mu? dynamic_cast durumunda, sonucu NULL olarak kontrol ederseniz hiçbir şey düşmez. Normal bir döküm ile hemen düşecektir. Yoksa ben mi anlamadım?
Tabii ki IMHO, ama eğer bir kütüphanedeysem, bir nesneye temel sınıfa bir işaretçi ile eriştiğimde, tanımsız davranış alıyorum, o zaman bu kütüphane kılavuzuna yansıtılmalı (orada mı?), ama olmalı böyle olma)
Ve haklı olarak))) Üssünden halefine ASLA doğrudan yayın yapamazsınız - bu UB ( TANIMLANMAMIŞ DAVRANIŞ )
Artı tarafta, bizim için tanıdık ve kullanışlı olan standart döküm operatörü aracılığıyla bağlantıların (yukarı veya aşağı) yayınlanması genellikle tehlikelidir.