Características da linguagem mql5, subtilezas e técnicas - página 46

 

O tópico é chamado "Características da linguagem mql5, sutilezas e truques", mas em vez disso, para 45 páginas estamos discutindo operações de trading/stick e outras coisas que dizem especificamente respeito ao MT5, mas não à linguagem de programação. O tópico poderia ter sido realmente útil e útil para programadores, as pessoas teriam compartilhado características e construções interessantes, mas se transformou em mais um depósito de lixo.

 
Alexey Navoykov:

O tópico é chamado "Características da linguagem mql5, sutilezas e truques", mas em vez disso, para 45 páginas estamos discutindo operações de trading/stick e outras coisas que dizem especificamente respeito ao MT5, mas não à linguagem de programação em absoluto. Se fosse realmente útil para programadores, as pessoas partilhariam características e construções interessantes, mas é apenas uma lixeira habitual.

Infelizmente, sim, é verdade. Não deve haver nenhuma pergunta e discussão aqui.
 
Alexey Navoykov:

O tópico é chamado "Características da linguagem mql5, sutilezas e truques", mas em vez disso, para 45 páginas estamos discutindo operações de trading/trading e outras coisas que são específicas do MT5, mas não da linguagem de programação em absoluto. O tópico pode ter sido realmente útil e útil para programadores, as pessoas teriam compartilhado características e construções interessantes, mas se transformou em mais uma lixeira.

Fórum sobre negociação, sistemas de negociação automatizados e testes estratégicos

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 que você precisa ter acesso ao campo privado por fora? Isto é algum tipo de perversão? ) Primeiro declare o campo como privado e depois tente aceder ao mesmo. E não só ler o acesso, mas também escrever o acesso! Bem... Isso é o que eu chamo de "subtilezas e métodos de trabalho", de facto. ))
 
Alexey Navoykov:
Por que você precisa ter acesso ao campo privado por fora? É algum tipo de perversão? ) Primeiro declare o campo como privado e depois tente aceder ao mesmo. E não só ler o acesso, mas também escrever o acesso! Bem... Isso é o que eu chamo de "subtilezas e métodos de trabalho", de facto. ))

É privado-PR!

 
Atenção, senhores programadores! Nós temos um hacker perigoso, invadindo outras classes e mudando impiedosamente os seus campos privados! Tenha cuidado, tome conta das suas aulas.
 
// Объяснение, почему 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:

É privado-PR!

Sugiro que, como hacker da classe principal, enfrente a parte mais difícil. Tornar possível o acesso a um campo privado pelo nome e não pela localização (porque a localização é muito pouco confiável). Naturalmente, isto deve ser sob a forma de uma macro. Este recurso pode ser útil às vezes, se quisermos mudar algo em outra biblioteca, sem ter que editar sua fonte.
 

Alguém fez uma ordenação eficiente de um conjunto de estruturas por algum (e não cordel) campo dado da estrutura?

Suponha que haja uma estrutura com três campos int, datetime e double, e que haja uma matriz preenchida com dados que consistem nesta estrutura. Em cada célula da matriz, os campos da estrutura são povoados.

Como ordenar esta matriz por qualquer um destes campos?

 
Artyom Trishkin:

Alguém fez uma ordenação eficiente de um conjunto de estruturas por algum (e não cordel) campo dado da estrutura?

Suponha que haja uma estrutura com três campos int, datetime e double, e que haja uma matriz preenchida com dados que consistem nesta estrutura. Em cada célula da matriz, os campos da estrutura são povoados.

Como ordenar esta matriz por qualquer um destes campos?

Como este aqui?

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

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