MQL5'te OOP hakkında sorular - sayfa 89

 
Yapının bir alanı varsa, sorun değil. Ve daha fazlaysa, o zaman anlamsız ve hatta aptalca.
 
Dmitry Fedoseev :
Yapının bir alanı varsa, sorun değil. Ve daha fazlaysa, o zaman anlamsız ve hatta aptalca.

Kim tek alanlı bir yapıya ihtiyaç duyar? Bu "yapısal" ne işe yarar?

 
Mikhail Dovbakh :

Kim tek alanlı bir yapıya ihtiyaç duyar? Bu "yapısal" ne yardımcı olur?

bir dizi üzerinde yapı sarmalayıcı

MQL işaretçilerle nasıl çalışacağını bilmiyor, ancak kısıtlama olmaksızın yapılarla çalışabilir, bu nedenle bir diziyi bir yapıya sarmanız gerekir.

 
Igor Makanu :

bir dizi üzerinde yapı sarmalayıcı

MQL işaretçilerle nasıl çalışacağını bilmiyor, ancak kısıtlama olmaksızın yapılarla çalışabilir, bu nedenle bir diziyi bir yapıya sarmanız gerekir.

O zaman bir sınıfa sarmak daha kolay değil mi? Sonuçta, yapı, statik bir veri listesiyle çalışırken öncelikle bir avantajdır. Ayrıca dinamik bir yapı ile çalışılırken sonradan iniş yapılması da uygun değildir.

 
Alexandr Andreev :

O zaman bir sınıfa sarmak daha kolay değil mi? Sonuçta, yapı, statik bir veri listesiyle çalışırken öncelikle bir avantajdır. Ayrıca dinamik bir yapı ile çalışılırken sonradan iniş yapılması da uygun değildir.

Daha kolay

üstelik tip üretmemek için public bölümünde yapıları anlattığım bir sınıf yaptım, bu tipleri sınıf dışında kısmen kullanıyorum,

normal yapılar olarak kullan, sadece iki nokta üst üste eklendi ama can sıkıcı olduğunu söylemeyeceğim.

 
Mikhail Dovbakh :

Kim tek alanlı bir yapıya ihtiyaç duyar? Bu "yapısal" ne yardımcı olur?

Öyleydi .. o .. nasıl ... retorik bir tez))

Ancak, bir diziyi bir yapıya yerleştirmek ve sonra bu yapılardan bir dizi kullanmak faydalı olabilir.

 
Normalde çalışır. Sadece bir an var. Bir yapı işlevinden dönerken, döndürülen işlevin içinde oluşturulan yapı değil, bu yapının bir kopyası, yani örtük kopya oluşturucu başlatılır.
 
Vladimir Simakov :
Normalde çalışır. Sadece bir an var. Bir yapı işlevinden dönerken, döndürülen işlevin içinde oluşturulan yapı değil, bu yapının bir kopyası, yani örtük kopya oluşturucu başlatılır.
Fazladan kopyalama yoktur, yapı yığın üzerinde oluşturulur, gerekli alan ondan kopyalanır.
 
Aliaksandr Hryshyn :
Fazladan kopyalama yoktur, yapı yığın üzerinde oluşturulur, gerekli alan ondan kopyalanır.
Bu, derleyici optimize ederse. Ve böylece, f()'yi aradığınızda, aşağıdakiler olacaktır. Yığın üst işaretçisi yapının boyutuna göre kaydırılır (sonuç buraya döndürülür). Fonksiyon kodu yığına itilir. Ayrıca, yürütme sürecinde yapının beyanına ulaşıyoruz. Yığın işaretçisi yine boyutuna göre kaydırılır. Bu yapı bir fonksiyonla doldurulur. Fonksiyondan çıkmadan önce fonksiyonda yapı için ayrılan hafıza geri dönüş için ayrılan hafızaya kopyalanır.
 
Vladimir Simakov :
Bu, derleyici optimize ederse. Ve böylece, f()'yi aradığınızda, aşağıdakiler olacaktır. Yığın üst işaretçisi yapının boyutuna göre kaydırılır (sonuç buraya döndürülür). Fonksiyon kodu yığına itilir. Ayrıca, yürütme sürecinde yapının beyanına ulaşıyoruz. Yığın işaretçisi yine boyutuna göre kaydırılır. Bu yapı bir fonksiyonla doldurulur. Fonksiyondan çıkmadan önce fonksiyonda yapı için ayrılan hafıza geri dönüş için ayrılan hafızaya kopyalanır.
Büyük ihtimalle optimize.