Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在转换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); vector-dnSwing; 列出总部、lq; 向量::迭代器it1=d1Swing.begin(),it2=d1Swing.begin(),it3=++d1Swing.begin(); // //这里有更多代码 // 对于(int i=0;ix==h[i].x)--(it1=it2=it3); // //这里有更多代码 // } // //这里有更多代码 // p->swap(dnSwing);_Javascript_C++ - Fatal编程技术网

在转换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); vector-dnSwing; 列出总部、lq; 向量::迭代器it1=d1Swing.begin(),it2=d1Swing.begin(),it3=++d1Swing.begin(); // //这里有更多代码 // 对于(int i=0;ix==h[i].x)--(it1=it2=it3); // //这里有更多代码 // } // //这里有更多代码 // p->swap(dnSwing);

在转换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); vector-dnSwing; 列出总部、lq; 向量::迭代器it1=d1Swing.begin(),it2=d1Swing.begin(),it3=++d1Swing.begin(); // //这里有更多代码 // 对于(int i=0;ix==h[i].x)--(it1=it2=it3); // //这里有更多代码 // } // //这里有更多代码 // p->swap(dnSwing);,javascript,c++,Javascript,C++,提前谢谢 这意味着他们以前的程序员喜欢“聪明” 赋值的值是对已赋值对象的引用,赋值关联到右侧 --(it1 = it2 = it3) 是 其目的是将it3的值分配给it2和it1,然后递减it1 (我有预感这可能是未定义的,这是当你在C++中聪明时经常发生的事情) it1显然是为了“落后一步”it2 更合理的写作方式是 it2 = it3; it1 = it2 - 1; (在JavaScript中,我怀疑你需要使用数组索引而不是迭代器来完成同样的事情)。你最好把原始的C++代码发布,然后把你

提前谢谢


这意味着他们以前的程序员喜欢“聪明”

赋值的值是对已赋值对象的引用,赋值关联到右侧

--(it1 = it2 = it3)

其目的是将
it3
的值分配给
it2
it1
,然后递减
it1

(我有预感这可能是未定义的,这是当你在C++中聪明时经常发生的事情)

it1
显然是为了“落后一步”
it2

更合理的写作方式是

it2 = it3;
it1 = it2 - 1;

(在JavaScript中,我怀疑你需要使用数组索引而不是迭代器来完成同样的事情)。

你最好把原始的C++代码发布,然后把你的尝试翻译成JavaScript。不要翻译。相反,找出代码的作用,并使用JavaScript特性复制行为。谢谢大家的建议。我已经更新了我的问题@Cheers Sandhth.-Alf我删除了javascript部分,因为它不是必需的,也与问题无关。@Rakete1111,谢谢你的建议。我翻译它是为了理解他们的节目。我只是不明白那些语法的逻辑。非常感谢你的回答。我以为是it1=it2,it2=it3,it3-1;是的,我将使用数组和索引。
it2 = it3;
it1 = it2 - 1;