Características del lenguaje mql5, sutilezas y técnicas - página 46

 

El hilo se llama "Características del lenguaje mql5, sutilezas y trucos", pero en cambio durante 45 páginas estamos discutiendo sobre operaciones de trading y otras cosas que son específicas de MT5, pero no del lenguaje de programación en absoluto. El tema podría haber sido realmente útil y provechoso para los programadores, la gente habría compartido características y construcciones interesantes, pero se ha convertido en otro basurero.

 
Alexey Navoykov:

El hilo se llama "Características del lenguaje mql5, sutilezas y trucos", pero en cambio durante 45 páginas estamos discutiendo sobre operaciones de trading y otras cosas que son específicas de MT5, pero no del lenguaje de programación en absoluto. Si fuera realmente útil para los programadores, la gente compartiría características y construcciones interesantes, pero no es más que un basurero habitual.

Desgraciadamente, sí, así es. Aquí no debe haber preguntas ni discusiones en absoluto.
 
Alexey Navoykov:

El hilo se llama "Características del lenguaje mql5, sutilezas y trucos", pero en cambio durante 45 páginas estamos discutiendo sobre operaciones de trading y otras cosas que tienen que ver específicamente con MT5, pero no con el lenguaje de programación en absoluto. El tema podría haber sido realmente útil y provechoso para los programadores, la gente habría compartido características y construcciones interesantes, pero se ha convertido en otro basurero.

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

Bibliotecas: TypeToBytes

fxsaber, 2017.07.11 15:40

// Чтение/Запись private-полей простых структур

#include <TypeToBytes.mqh>

template <typename T>
struct STRUCT
{
private:
  T Data; // private-поле
  
public:
  T GetData( void ) const
  {
    return(this.Data);
  }
};

void OnStart()
{    
  STRUCT<int> Struct = {0};  
  
  _W(Struct) = 2;          // Write-доступ к private-полю
  Print(Struct.GetData()); // убедились штатно, что это так
  
  Print(_R(Struct)[0]);    // Read-доступ к private-полю
}
 
fxsaber:
¿Por qué necesita acceder al campo privado desde el exterior? ¿Es algún tipo de perversión? ) Declare primero el campo como privado y luego intente acceder a él. Y no sólo acceso de lectura, sino también de escritura. Bueno... Eso es lo que yo llamo "sutilezas y métodos de trabajo" de hecho ))
 
Alexey Navoykov:
¿Por qué necesita acceder al campo privado desde el exterior? ¿Es algún tipo de perversión? ) Declare primero el campo como privado y luego intente acceder a él. Y no sólo acceso de lectura, sino también de escritura. Bueno... Eso es lo que yo llamo "sutilezas y métodos de trabajo" de hecho ))

Es la publicidad privada.

 
¡Atención, señores programadores! Tenemos un peligroso hacker, que piratea otras clases y cambia sin piedad sus campos privados. Tengan cuidado, cuiden sus clases.
 
// Объяснение, почему static-поля структур не являются на самом деле ее полями
// Поэтому структура может быть простой, даже если ее static-поле является объектом
struct STRUCT
{
  static string Str;
  int i;
};

string STRUCT::Str = NULL;

union UNION
{
  STRUCT Struct; // для сложной структуры была бы ошибка
  int i;
};

void OnStart()
{
  Print(sizeof(STRUCT)); // sizeof(int) == 4
}
 
fxsaber:

Es la publicidad privada.

Te sugiero que, como hacker principal de la clase, abordes la parte más difícil. Hacer posible el acceso a un campo privado por nombre, no por ubicación (porque la ubicación es muy poco fiable). Naturalmente, esto debe ser en forma de macro. Esta característica puede ser útil a veces, si queremos cambiar algo en otra biblioteca, sin tener que editar su fuente.
 

¿Ha hecho alguien una ordenación eficiente de recursos de un array de estructuras por cualquier campo (no cadena) dado de la estructura?

Supongamos que hay una estructura con tres campos int, datetime y double, y que hay un array lleno de datos formado por esta estructura. En cada celda del array se rellenan los campos de la estructura.

¿Cómo ordenar esta matriz por cualquiera de estos campos?

 
Artyom Trishkin:

¿Ha hecho alguien una ordenación eficiente de recursos de un array de estructuras por cualquier campo (no cadena) dado de la estructura?

Supongamos que hay una estructura con tres campos int, datetime y double, y que hay un array lleno de datos formado por esta estructura. En cada celda del array se rellenan los campos de la estructura.

¿Cómo ordenar esta matriz por cualquiera de estos campos?

¿Como éste?

https://www.mql5.com/ru/code/9336

ArrayEx
ArrayEx
  • votos: 4
  • 2009.11.19
  • Андрей
  • www.mql5.com
Библиотека реализует 3 основных функции работы с двумерными массивами: сортировка, группировка, выборка - по множественным критериям.