Я строю индикатор javascript для моего клиента, и они дали мне ниже код C++ из их старой системы. Раньше я никогда не делал C++. Ниже приведена часть кода на C++. То, что я хочу знать, находится в строке
if (it3 != d1Swing.end() && it3->x == h[i].x) --(it1 = it2 = it3);
В чем смысл - (it1 = it2 = it3)? Как это будет выглядеть в javascript?Нужна помощь в преобразовании C++ в 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);
Заранее благодарен.
tslin
Вы бы лучше отправьте исходный код на C++ и по отдельности попытайтесь выполнить перевод на JavaScript. –
Не переводить. Вместо этого выясните, что делает код и репликация поведения с использованием функций JavaScript. – Rakete1111
Спасибо всем за предложение. Я обновил свой вопрос. @ Cheersandhth.-Alf Я удалил часть javascript, поскольку это не обязательно и не связано с вопросом. – tslin