Caractéristiques du langage mql5, subtilités et techniques - page 46

 

Le fil de discussion s'appelle "Caractéristiques du langage mql5, subtilités et astuces", mais au lieu de cela, pendant 45 pages, nous discutons des opérations de trading/stick et d'autres choses qui concernent spécifiquement MT5, mais pas du tout le langage de programmation. Le sujet aurait pu être vraiment utile et utile pour les programmeurs, les gens auraient partagé des fonctionnalités et des constructions intéressantes, mais il s'est transformé en un autre dépotoir.

 
Alexey Navoykov:

Le fil de discussion s'appelle "Caractéristiques du langage mql5, subtilités et astuces", mais au lieu de cela, pendant 45 pages, nous discutons des opérations de trading/stick et d'autres choses qui concernent spécifiquement MT5, mais pas du tout le langage de programmation. S'il était vraiment utile aux programmeurs, les gens partageraient des fonctionnalités et des constructions intéressantes, mais ce n'est qu'un dépotoir habituel.

Malheureusement, oui, c'est vrai. Il ne doit pas y avoir de questions et de discussions ici.
 
Alexey Navoykov:

Le fil de discussion s'appelle "Caractéristiques du langage mql5, subtilités et astuces", mais au lieu de cela, pendant 45 pages, nous discutons des opérations de trading et d' autres choses qui sont spécifiques à MT5, mais pas du tout du langage de programmation. Le sujet aurait pu être vraiment utile et utile pour les programmeurs, les gens auraient partagé des fonctionnalités et des constructions intéressantes, mais il s'est transformé en un autre dépotoir.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Bibliothèques : 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:
Pourquoi avez-vous besoin d'accéder au domaine privé de l'extérieur ? Est-ce une sorte de perversion ? ) Déclarez d'abord le champ privé, puis essayez d'y accéder. Et pas seulement en lecture, mais aussi en écriture ! Eh bien... C'est ce que j'appelle "les subtilités et les méthodes de travail" en effet. ))
 
Alexey Navoykov:
Pourquoi avez-vous besoin d'accéder au domaine privé de l'extérieur ? Est-ce une sorte de perversion ? ) Déclarez d'abord le champ privé, puis essayez d'y accéder. Et pas seulement en lecture, mais aussi en écriture ! Eh bien... C'est ce que j'appelle "les subtilités et les méthodes de travail" en effet. ))

C'est de la RP privée !

 
Attention, messieurs les programmeurs ! Nous avons un dangereux hacker, qui pirate les autres classes et modifie impitoyablement leurs champs privés ! Faites attention, prenez soin de vos cours.
 
// Объяснение, почему 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:

C'est de la RP privée !

Je vous suggère, en tant que principal pirate de classe, de vous attaquer à la partie la plus difficile. Rendre possible l'accès à un champ privé par son nom, et non par sa localisation (car la localisation est très peu fiable). Naturellement, cela doit se faire sous la forme d'une macro. Cette fonctionnalité peut parfois être utile, si nous voulons modifier quelque chose dans une autre bibliothèque, sans avoir à modifier sa source.
 

Quelqu'un a-t-il réalisé un tri efficace en termes de ressources d'un tableau de structures par n'importe quel champ (pas une chaîne) de la structure ?

Supposons qu'il existe une structure avec trois champs int, datetime et double, et qu'il existe un tableau rempli de données constitué de cette structure. Dans chaque cellule du tableau, les champs de la structure sont remplis.

Comment trier ce tableau par l'un de ces champs ?

 
Artyom Trishkin:

Quelqu'un a-t-il réalisé un tri efficace en termes de ressources d'un tableau de structures par n'importe quel champ (pas une chaîne) de la structure ?

Supposons qu'il existe une structure avec trois champs int, datetime et double, et qu'il existe un tableau rempli de données constitué de cette structure. Dans chaque cellule du tableau, les champs de la structure sont remplis.

Comment trier ce tableau par l'un de ces champs ?

Comme celui-là ?

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

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