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

 
Nikolai Semko:


para estruturas e classes que incluem cordas ou matrizes dinâmicas ou referências de classes, o tamanho de() apontará o dedo ao céu.

e eu consigo compreendê-lo :-)

 
Nikolai Semko:


O tipo de corda em mql é muito complicado, e não é totalmente divulgado na documentação.
Mas pode-se adivinhar, a partir da linguagem C, que a matriz de caracteres (tampão) está envolta em tipo de fio
E depois começa-se a dançar com a compreensão do seu funcionamento ))

 
Roman:

O tipo de cordel em mql é muito complicado, e não é totalmente revelado na documentação.
Mas a linguagem C sugere que o tipo de corda é uma matriz de caracteres (tampão)
E depois começa-se a dançar com a compreensão do seu funcionamento ))

Não há cordas em C.

 
Maxim Kuznetsov:

para estruturas e classes que incluem cordas ou matrizes dinâmicas ou referências de classes, o tamanho de() apontará o dedo ao céu.

e eu consigo compreendê-lo :-)

Mas porquê?
Com qualquer matriz dinâmica, mostrará o tamanho do objecto da matriz dinâmica, que é de 52 bytes em MQL5


 
Nikolai Semko:

Não há tangas em C.

Penso que já existe, mas não é essa a questão.
Sim, C tem char[], está embrulhado em fio mql

 
Nikolai Semko:

Mas porquê?
Com qualquer matriz dinâmica, mostrará o tamanho do objecto da matriz dinâmica, que é de 52 bytes em MQL5

o tamanho do que e para quem vai mostrar ?

52 bytes é apenas o seu dispositivo interno.

Porque não é 64 não é claro, eles poderiam ter alinhado :-)

 
Roman:

Penso que já existe, mas não é essa a questão.
Sim, C tem char[], está embrulhado em fio mql

Bem, eu compreendo isso.
Não utilizo de todo funções de cordas. Converto-os imediatamente para uma matriz de caracteres usando a função StringToCharArray e depois trabalho com a matriz. Achei-o muito mais eficiente.

Especialmente quando se trata de análise.

 
Maxim Kuznetsov:

o tamanho do que e para quem vai mostrar ?

52 bytes é apenas a sua estrutura interna.

Não é claro porque não é 64, eles poderiam tê-lo alinhado :-)

Provavelmente, algum tipo de estrutura com diferentes tipos. Por exemplo, 5 ulong e 3 uint. Talvez haja tempo para o processamento interno e hora do último acesso. NÃO CONHECO. Quem sabe o que esta estrutura pode conter.

 
Nikolai Semko:

Bem, isso é compreensível.
Não utilizo de todo funções de cordas. Converto-os imediatamente para uma matriz de caracteres usando a função StringToCharArray e depois trabalho com a matriz. Achei-o muito mais eficiente.

O mais provável é que a corda mql seja curta[] ou wchar_t[] ou wchar_t*.
Afinal, mql strings estão em Unicode, enquanto utf é 2 bytes.
E StringToCharArray converte de short[] para char[].

 
Roman:

E o mais provável é que sob um cordão de mql haja um curto[]
Afinal, há 2 bytes de corda em Unicode em mql.
E StringToCharArray converte de short[] para char[]

não teria reparado. Embora eu não exclua que em alguns casos (quando se trabalha com Unicode) é possível. Em Java, por exemplo, o tipo char é de 2 bytes.
Tentei analisar os dados a partir da troca criptográfica em duas variantes: através desta biblioteca JSON e através do trabalho com char array.
A diferença acabou por ser de 700(!!!) vezes por velocidade. Fiquei chocado. Talvez estivesse longe de ser a melhor implementação do JSON.

Razão: