tslin89 Ответов: 1

Нужна помощь в преобразовании C++ в javascript


Всем привет,

Я создаю индикатор javascript для своего клиента, и они дали мне ниже код C++ из своей старой системы. Я никогда раньше не делал программ на C++. Ниже приведена часть кода C++. То, что я хочу знать, находится в очереди
if (it3 != d1Swing.end() && it3->x == h[i].x) --(it1 = it2 = it3);
в чем смысл --(it1 = it2 = it3)? Как это будет выглядеть в javascript?

vector<PTPoint::PTIndexPoint> dnSwing;
list<PTPoint::PTIndexPoint> hq, lq;
vector<PTPoint::PTIndexPoint>::iterator it1 = d1Swing.begin(), it2 = d1Swing.begin(), it3 = ++d1Swing.begin();
//
// more code here
//
for (int i = 0; i < period; ++i)
{
    while (!hq.empty() && hq.back().y < h[i].y) hq.pop_back();
    hq.push_back(h[i]);
    while (!lq.empty() && lq.back().y > l[i].y) lq.pop_back();
    lq.push_back(l[i]);
    if (it3 != d1Swing.end() && it3->x == h[i].x) --(it1 = it2 = it3);
    //
    // more code here
    //
}
//
// more code here
//
p->swap(dnSwing);


Заранее спасибо.
цлин

Что я уже пробовал:

Я долго гуглил, но поиск включал специальные символы, и эти символы использовались в большинстве языков.

KarstenK

Совет: используйте фигурные скобки и новые строки через некоторое время, а также команду if, чтобы сделать код более четким.

1 Ответов

Рейтинг:
5

CPallini

Цитата:
в чем смысл --(it1 = it2 = it3)? Как это будет выглядеть в javascript?

  1. назначить it3 к it2.
  2. назначить it2 к it1.
  3. уменьшение it1.

Вы можете переписать его (C++ код) таким образом:
{
  it2 = it3;
  it1 = it2;
  it1 = it1 - 1;
}

Я полагаю, что код Javascript был бы очень похож.


tslin89

Большое спасибо за ответ.

CPallini

Добро пожаловать.