Referencias de matrices - página 4

 
Me refiero al búfer indicador nueve, pero el significado es el mismo.
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 

TheXpert:

Necesito un array normal sin copiar

La forma es fastidiar la estructura de la matriz. Es decir, deslizar un puntero de serie temporal en lugar de un puntero de matriz, junto con los parámetros adecuados, para que la estructura piense que está bien.

¡Ahá, lo tengo!

y luego tirar de una estructura en lugar de una referencia de matriz a través de las funciones...

la estructura está como separada de la matriz, pero todavía se pueden obtener datos de

ArrayStore::double x[];
 
sergeev:
¡Bingo! :)
 
Ahora sólo queda despegar :)
 
sergeev:
ahora solo queda despegar :)
¿Sientes la perspectiva? En teoría, se podría hacer lo mismo con cualquier cosa, incluidos los objetos.
 
TheXpert:
¿Puedes tener una perspectiva? En teoría, se puede hacer lo mismo con cualquier cosa, incluidos los objetos.

No te aconsejo que tengas una perspectiva. :))

Me senté con su problema por un tiempo, y algo se aclaró.

los dos primeros bytes son de tipo array (int).

los dos segundos bytes - no están claros.

el tercer dos - número de bytes en el elemento de datos (int)

   // int x[][15];     // == 0x5200 0100 0400  // здесь в каментах - первые три пары байт структуры
   // uint x[][15];    // == 0x5300 0100 0400
   // short x[][15];   // == 0x5000 0100 0200
   // ushort x[][15];  // == 0x4F00 0100 0200
   // char x[][15];    // == 0x4D00 0100 0100

   // uchar x[][15];   // == 0x4E00 0100 0100

   // long x[][15];    // == 0x5500 0100 0800
   // ulong x[][15];   // == 0x5600 0100 0800

   // double x[][15];  // == 0x5800 0100 0800
   // datetime x[][15];// == 0x5400 0100 0800


Entonces hay cuatro [ulong][ulong][ulong][ulong][ulong][ulong] en una fila.

entonces el tamaño del buffer reservado.

y luego un puntero de búfer (aún no lo he comprobado).

el resto no está claro, tal vez una reserva, pero no es seguro

 

Sí. Pero eso es si excluyes memcpy

Antes de eso, vale la pena comprobar si la copia interna de arrays es más rápida que memcpy

 
MetaDriver:

Me senté con su problema por un tiempo, algo se aclaró.

Oh, mis patadas a usted, sólo empezar a cavar.
 
sergeev:

Sí. Pero eso es si excluyes memcpy

Antes de eso, vale la pena comprobar si la copia interna de arrays es más rápida que memcpy

Sí, deberíamos. Si memcpy es comparable a copiar un array de digamos 500.000, probablemente no tenga sentido.
 

MetaDriver:

más confusión, posiblemente una reserva, pero no una certeza

También debería haber una bandera AsSeries y posiblemente algunas otras.