배열 참조 - 페이지 4

 
어떤 의미에서는 인디케이터 버퍼 가 아홉 번째지만 의미는 같습니다.
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
Усреднение ценовых рядов без дополнительных буферов для промежуточных расчетов
  • 2010.10.25
  • Nikolay Kositsin
  • www.mql5.com
Статья о традиционных и не совсем традиционных алгоритмах усреднения, упакованных в максимально простые и достаточно однотипные классы. Они задумывались для универсального использования в практических разработках индикаторов. Надеюсь, что предложенные классы в определенных ситуациях могут оказаться достаточно актуальной альтернативой громоздким, в некотором смысле, вызовам пользовательских и технических индикаторов.
 

TheXpert :

복사하지 않고 일반 배열이 필요합니다.

방법은 배열 구조를 가로채는 것입니다. 저것들. 구조가 모든 것이 괜찮다고 생각하도록 적절한 매개변수와 함께 배열 포인터 대신 시계열 포인터를 슬립합니다.

하하, 정리!

그런 다음 함수를 가져 오는 것은 배열 배열에 대한 참조가 아니라 구조입니다 ...

구조는 그대로 배열에서 분리되지만 동시에 다음에서 데이터를 가져올 수 있습니다.

ArrayStore:: double x[];
 
sergeev :
빙고! :)
 
이제 이 모든 것으로 이륙해야 합니다. :)
 
sergeev :
이제 이 모든 것으로 이륙해야 합니다. :)
전망이 보이십니까? 이론적으로 객체를 포함한 모든 것에 대해 동일한 작업을 수행할 수 있습니다.
 
TheXpert :
전망이 보이십니까? 이론적으로 객체를 포함한 모든 것에 대해 동일한 작업을 수행할 수 있습니다.

나는 당신에게 전망을 느끼라고 조언하지 않습니다. :))

나는 당신의 문제에 대해 조금 앉아 있었고, 뭔가가 해결되었습니다.

처음 두 바이트 - 배열 유형(int)

두 번째 두 가지는 여전히 불분명

2/3 - 데이터 요소의 바이트 수(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


그런 다음 4개의 차원이 연속적으로 이어집니다 [ulong][ulong][ulong][ulong]

그런 다음 예약된 버퍼의 크기

그런 다음 버퍼에 대한 포인터처럼 (아직 확인하지 않았습니다)

이해를 넘어, 아마도 예비일 수 있지만 사실은 아닙니다.

 

응. 그러나 이것은 memcpy가 제외된 경우입니다.

그 전에 일반적으로 배열의 내부 복사 가 memcpy보다 빠른지 확인해야 합니다.

 
MetaDriver :

나는 당신의 문제에 대해 조금 앉아 있었고, 뭔가가 해결되었습니다.

오 마이 닉스, 난 이제 막 파헤치기 시작했어.
 
sergeev :

응. 그러나 이것은 memcpy가 제외된 경우입니다.

그 전에 일반적으로 배열의 내부 복사가 memcpy보다 빠른지 확인해야 합니다.

예, 필요할 것입니다. memcpy가 예를 들어 500,000에서 배열을 복사하는 것과 비슷하다면 아마도 의미가 없을 것입니다.
 

MetaDriver :

이해를 넘어, 아마도 예비일 수 있지만 사실은 아닙니다.

또한 AsSeries 플래그와 다른 플래그도 있어야 합니다.