Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Şey, bilmiyorum :) gibi yazılı kod için ofisimizde
en azından azarlayacaklar ve IMHO, doğru olanı yapacaklar.
Tekrar ediyorum - bu, bir dizenin başlatılması gerekiyorsa, oluşturma sırasında doğru başlatma gerektiren karmaşık bir türdür - bu kesinlikle bir MT5 (4) hatasıdır.
Yine de dizilerin boyutu oluşturulduktan hemen sonra sıfırlanabilir mi ???
Şey, bilmiyorum :) gibi yazılı kod için ofisimizde
en azından azarlayacaklar ve IMHO, doğru olanı yapacaklar.
Bir değişken kullanılmadan önce, ona bir değer atanmalıdır (açıkça başlatılmıştır). Yoksa aynı fikirde değil misiniz?
Açık başlatma, bildirim anında hemen birine ihtiyaç duyulduğu anlamına gelmez. Ancak daha sonra bazı hesaplamalarda başlatılmamış bir değişkenin değeri kullanılırsa, sonuçlar tahmin edilemez.
Tüm saygımla, beni korkutuyorsun Rashid.
Sınıf, mantıksal ise varsayılan değerin ayarlanması da dahil olmak üzere, nesnenin ilk başlatılmasının gerçekleştiği bir kurucuya sahiptir.
Başlatma gerçekleşmezse, nesnenin uygun durumda olup olmadığını bilmenin bir yolu olmalıdır. Bir dize ile varsayılan bir değer belirlemek çok daha mantıklıdır.
böyle bir kayıt paranoyadır, bir paranoyak a priori normal kod yazamaz.
Yani dizeler başlatılmadı mı?
Yani dizeler başlatılmadı mı?
Tüm saygımla, beni korkutuyorsun Rashid.
Sınıf, mantıksal ise varsayılan değerin ayarlanması da dahil olmak üzere, nesnenin ilk başlatılmasının gerçekleştiği bir kurucuya sahiptir.
Başlatma gerçekleşmezse, nesnenin uygun durumda olup olmadığını bilmenin bir yolu olmalıdır. Bir dize ile varsayılan bir değer belirlemek çok daha mantıklıdır.
böyle bir kayıt paranoyadır, bir paranoyak a priori normal kod yazamaz.
Yani dizeler başlatılmadı mı?
Yardımı okuyun - https://www.mql5.com/en/docs/basis/types/classes :
Yapı, string türünde değişkenler ve/veya bir dinamik dizi nesnesi içeriyorsa, o zaman derleyici, string türünün yapısının tüm üyelerinin sıfıra ayarlandığı ve doğru başlatmanın gerçekleştirildiği böyle bir yapı için örtük bir kurucu atar. dinamik dizi nesnesi.
...
Yapıcılar ve yıkıcılar
Yapıcı, bir yapı veya sınıfın nesnesi oluşturulduğunda otomatik olarak çağrılan ve genellikle sınıf üyelerini başlatmak için kullanılan özel bir işlevdir. Aşağıda sadece sınıflardan bahsedeceğiz ve aksi belirtilmedikçe söylenen her şey yapılar için geçerlidir. Yapıcının adı, sınıfın adıyla eşleşmelidir. Yapıcının dönüş tipi yoktur (bir void tipi belirtebilirsiniz).
Sınıfın belirli üyeleri - stringler , dinamik diziler ve başlatma gerektiren nesneler - bir kurucunun varlığından bağımsız olarak yine de başlatılacaktır.
Kalay ... En azından ben bileceğim.
Yapılarda da NULL olacak mı?
Kalay ... En azından ben bileceğim.
Yapılarda da NULL olacak mı?
Sadece NULL ile karşılaştırın ve kendiniz öğrenin - Void tipi ve NULL sabiti :
Önceden tanımlanmış const değişkeni NULL , void türündedir . Herhangi bir temel türdeki değişkenlere dönüştürme yapılmadan atanabilir. Temel türdeki değişkenleri NULL değeriyle karşılaştırmaya da izin verilir.
Misal:
//--- dize başlatılmamışsa, ona önceden tanımlanmış değerimizi atayın
if (some_string== NULL ) some_string= "boş" ;
NULL , yeni işleçle oluşturulan nesnelere yönelik işaretçilerle de karşılaştırılabilir .
Bir değişken kullanılmadan önce, ona bir değer atanmalıdır (açıkça başlatılmıştır). Yoksa aynı fikirde değil misiniz?
Açık başlatma, bildirim anında hemen birine ihtiyaç duyulduğu anlamına gelmez. Ancak daha sonra bazı hesaplamalarda başlatılmamış bir değişkenin değeri kullanılırsa, sonuçlar tahmin edilemez.
Kuşlardan bahsetmişken.
Peki derleyici bize ne söyleyecek? Ve şuna cevap verecek - '=' - yasadışı atama kullanımı
Derleyici eğimli değildi - '=' - yasadışı atama kullanımı.
Sorum şu: Programcı (bu durumda, ben) değişkenleri kullanılmadan önce başlatmaya özen göstermezse (derleyicinin gerektirdiği gibi davranır ve yapıcıda bu anı kaçırırsa) ne olur?
Sorum şu: Programcı (bu durumda, ben) değişkenleri kullanılmadan önce başlatmaya özen göstermezse (derleyicinin gerektirdiği gibi davranır ve yapıcıda bu anı kaçırırsa) ne olur?
Soru bir acemiden geliyor...
Valla ben de o zamanlar öyle düşünmüştüm (Uzun zaman önceydi, hatırladım) ama şevkle bir uygulama yazmak istedim. :)
Yine de derleyici düzeyinde değişkenleri hemen başlatmanın neden yasak olduğunu anlamış değilim.