Preguntas sobre POO en MQL5 - página 66

 

He aquí la respuesta al porqué:

En el rectángulo rojo - se ha añadido una llamada aGetMicrosecondCount(), en el azul - una más. Por eso es casi igual.

 
Dmitry Fedoseev:

¿Por qué te atreves a mostrarme el código? Sin el código, puedes meterte tus fotos de tiempo donde no brilla el sol.

 
Vladimir Simakov:

Uy. Con acciones idénticas, sólo había un 30% de diferencia.

¿Quizás es en las clases donde se crea la sobrecarga? Por supuesto, el compilador debería, en cualquier caso, alinear todo y eliminar lo innecesario. Tiene sentido señalar esto a los desarrolladores.
 
Alexey Navoykov:
¿Quizás son las clases las que crean la sobrecarga? Por supuesto, el compilador debería, en cualquier caso, inlinear todo y cortar las cosas innecesarias. Tiene sentido señalar esto a los desarrolladores.

Ha funcionado. La estructura funcionaba a la misma velocidad que la función y la macro. Pero la clase... muy atrás.

 
Dmitry Fedoseev:

Ha funcionado. La estructura funcionaba a la misma velocidad que la función y la macro. Pero la clase... muy atrás.

Básicamente, siempre he tenido esa premonición, pero nunca llegué a probarla. Por eso traté de evitar declarar la clase innecesariamente y la declaré como una estructura, sobre todo si la idea es pasarla a la pila.
 

Yo mismo aconsejé cómo acceder a métodos/campos privados en SB y recogí este gancho en el foro, no recuerdo quién lo sugirió.

me sorprendió descubrir que estaba dando consejos como siempre sin atenerse a la terminología, no era un gancho sino un antipatrón Público Morozovhttp://blog.kislenko.net/show.php?id=1775

)))

 
Igor Makanu:

Yo mismo aconsejé cómo acceder a métodos/campos privados en SB y recogí este gancho en el foro, no recuerdo quién lo sugirió.

me sorprendió descubrir que estaba dando consejos como siempre sin atenerse a la terminología, no era un ganchosino un antipatrón Público Morozovhttp://blog.kislenko.net/show.php?id=1775

)))

ahí has dado un barril de miel a los negadores del patrón y a los amantes de la OO :-) Un patrón para conseguir lo que está oculto por consideraciones de diseño :-)

Alguien (alguien de los monstruos actuales de OO/C++), dijo muy razonablemente que el punto de fricción de OO es que la clase base debe proporcionar suficientes interfaces para todas las variaciones descendientes (prácticamente tener disponibles setters-getters a todos los campos, o todo en uno),
y los descendientes no deben crear funciones virtuales fuera del protocolo de los padres, sólo entonces vendrá la felicidad universal. Entonces el STL+boost generalizado realmente ahorra, las pruebas son útiles y reutilizables. Pero se convierte en un montón de clases, porque en lugar de nuevas funciones virtuales actúan todo tipo de proxies.

 
Maxim Kuznetsov:

aquí has dado un barril de miel a los negadores del patrón y a los amantes de la OO :-) Un patrón para conseguir lo que está oculto por consideraciones de diseño :-)

Alguien (alguien de los monstruos actuales de OO/C++), dijo muy razonablemente que el punto de fricción de OO es que la clase base debe proporcionar suficientes interfaces para todas las variaciones descendientes (prácticamente tener disponibles setters-getters a todos los campos, o todo en uno),
y los descendientes no pueden crear funciones virtuales fuera del protocolo de los padres, sólo entonces vendrá la felicidad universal. Entonces el STL+boost generalizado realmente ahorra, las pruebas son útiles y reutilizables. Pero se convierte en un montón de clases, porque todo tipo de proxies actúan en lugar de nuevas funciones virtuales.

¿Qué tienen que ver los patrones y los amantes de la OO?

 
Maxim Kuznetsov:

Alguien (alguien de los actuales monstruos de la OO/C++), dijo con bastante sensatez que el punto de fricción de la OO es que la clase base debe proporcionar suficientes interfaces para todas las variaciones de los descendientes (prácticamente tener disponibles setter-getters para todos los campos, o todo en blanco)

No sé qué "monstruo" ha dicho semejante disparate. Parece partidario de embutir todo lo que se puede y no se puede en una sola clase: "...el segador y el curandero".
 
Hablando de "antipatrones", casi toda la biblioteca estándar de MQ, por ejemplo, es un sólido antipatrón).