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
int bu özel kurucuyu çağırmak için herhangi bir sayı olmasına rağmen, neyin başlatılacağının bir anlamı yoktur.
ve 0.0, yazım hatası olmaması için seçildi - herhangi bir sayı, yani. 0.0. yazmak ve yazmak 123'ten daha zordur
(çift)0
ama öyle değil, aynı zamanda doğru))) ancak şimdi kod normal görünüyordu, hala anormal görünmenin bir yolu var))(çift)0
Numara
Sadece 0.0 yazıyorum - başka bir rakam beklenmiyor - yapıcıda bir değişken bile yok
genel olarak, ne kadar moda - yazarın tarzı, belki de en iyisi değil
nokta x değil) ancak resepsiyonda çiftin yanı sıra bir şamandıra olabileceği gerçeği, sadece 0.0'ı belirtin Ayrıca güvenilir değil
0.0, derleyici için açık bir çifttir, kayan nokta 0.f olacaktır
telafi etmek)
"50 kişilik sorular" bölümü açıkken, ben de kastlar konusuna kendim gireyim.
- Hata toleransı veya fazlalık olmaması açısından kodu iyileştirmenin yolları nelerdir?
- CheckPointer() !=POINTER_INVALID öğesini kontrol etmem gerekiyor mu? Yoksa kesinlikle gerekli değil mi? Sebebini açıkla.
- Const olmayan yöntemlerin çağrılabilmesi için const olmayana döküm. Const olmayanı doğrudan Karşılaştırma yönteminde çağırmak mümkün müdür? onlar. sarı ile vurgulananlardan kurtulun yapı?
"50 kişilik sorular" bölümü açıkken, ben de kastlar konusuna kendim gireyim.
- Hata toleransı veya fazlalık olmaması açısından kodu iyileştirmenin yolları nelerdir?
- CheckPointer()!=POINTER_INVALID denetimi gerekli mi? Yoksa kesinlikle gerekli değil mi? Sebebini açıkla.
- Const olmayan yöntemlerin çağrılabilmesi için const olmayana döküm. Const olmayanı doğrudan Karşılaştırma yönteminde çağırmak mümkün müdür? onlar. sarı ile vurgulananlardan kurtulun yapı?
Sizinkiyle bire bir gibi görünüyor, sadece daha küçük harfler. Bu yüzden kimin daha çok sevdiği bir zevk meselesi, ancak fazladan değişkeni kaldırdım (büyük olasılıkla, derleyici onu optimizasyonun bir parçası olarak kaldıracaktı).
!düğüm hakkında. Kesin olarak, CheckPointer(node)==POINTER_INVALID ile değiştirilmelidir, ancak bu bir ek yük, bir işlev çağrısıdır. Satır içi olsa bile, en azından durum bayrağını referans alıyor ve kontrol ediyor. Karşılaştırma yöntemleri yalnızca sizin tarafınızdan yazılmış bir kitaplık veya belirli bir program ise, geçersiz bir işaretçi göndermemek için !node kullanmak ve kodu takip etmek daha iyidir. İşaretçileri takip edemeyecek kadar tembelseniz veya bu küçük olmayanlar için bir kitaplıksa, yalnızca CheckPointer(node)==POINTER_INVALID.
Vurguladığınız const belirtecini kaldırırsanız, bu yöntemleri bir const nesnesinden çağıramazsınız.
UPD: vurgulanan kontrol, çağrılan yöntemlerde olduğu için kaldırılabilir.
"50 kişilik sorular" bölümü açıkken, ben de kastlar konusuna kendim gireyim.
- Hata toleransı veya fazlalık olmaması açısından kodu iyileştirmenin yolları nelerdir?
- CheckPointer()!=POINTER_INVALID denetimi gerekli mi? Yoksa kesinlikle gerekli değil mi? Sebebini açıkla.
- Const olmayan yöntemlerin çağrılabilmesi için const olmayana döküm. Const olmayanı doğrudan Karşılaştırma yönteminde çağırmak mümkün müdür? onlar. sarı ile vurgulananlardan kurtulun yapı?
Teoride, const gövdesi olan ve olmayan bir işlevin iki yöntemini yazmak - hafifçe söylemek gerekirse - buna değmez)))
Ancak iki yöntemle karşılaşma olasılığınız sıfıra yakındır.... const bu kodda gözden kaçabilir. çünkü CChartObjectRectangle:: Price'ın var olma olasılığı - vücutta consts olmadan - Bence pek olası değil.
Peki, bu fonksiyonun dışarıdan çağrılmasını etkilemez. Onlar. const yalnızca dahili işlevlerle çalışır ve kimsenin nesnenin belleğine bir şey yazmamasını sağlar (değişkenin değerini değiştirmez). Onlar. Set(a)'yı consts ile çağıramazsınız... Genellikle, bir tür karışıklık durumunda, bu fonksiyonun hiçbir şeyin üzerine yazmadığından emin olmak için, bu const'ları hızlı bir şekilde düzenleyebilirsiniz (bu muhtemelen benim yanılgım olsa da).
Daha sonra bir şeyi kontrol etmenin daha kolay olması için const'ın her yere itilmesi gerektiğine inanılıyor))) böylece.
CheckPointer()!=POINTER_INVALID denetimi gerekli mi?
Ve neden olmasın.... make one bool Check(<template> &T) { retun CheckPointer(T)!=POINTER_INVALID } teoride, derleyici tüm bunları en basit forma optimize etmelidir. (nc!= NULL ) gibi bir şey ve sonunda olsun. Ve evet, daha güzel görünecek.
Bu daha hızlı olan operadan
Valla ben pek değişmedim
Bu tam kodunuz.
Sizinkiyle bire bir gibi görünüyor, sadece daha küçük harfler. Bu yüzden, kimin daha çok sevdiği bir zevk meselesi, ancak fazladan değişkeni kaldırdım (büyük olasılıkla, derleyici onu optimizasyonun bir parçası olarak kaldıracaktı).
Benim !düğümle ilgili. Kesin olarak, CheckPointer(node)==POINTER_INVALID ile değiştirilmelidir, ancak bu bir ek yük, bir işlev çağrısıdır. Satır içi olsa bile, en azından durum bayrağını referans alıyor ve kontrol ediyor. Karşılaştırma yöntemleri yalnızca sizin tarafınızdan yazılmış bir kitaplık veya belirli bir program ise, geçersiz bir işaretçi göndermemek için !node kullanmak ve kodu takip etmek daha iyidir. İşaretçileri takip edemeyecek kadar tembelseniz veya bu küçük olmayanlar için bir kitaplıksa, yalnızca CheckPointer(node)==POINTER_INVALID.
Vurguladığınız const belirtecini kaldırırsanız, bu yöntemleri bir const nesnesinden çağıramazsınız.
Uzun zamandır açık bir sekmem vardı
mde kampanya bir inşaat teknik okulunda 4 yıllık eğitim bana bilgi katmadı (açıklama okuryazarlığı çöpte geride kalıyor)
const olmadan değişken çünkü temel sınıfın giriş parametrelerine bir referansı yoktur, bu stil çok yetkin olmasa da doğru şekilde çalışacaktır.
Aynı varyant, aynı kod
O consts ile birlikte