将 JavaScript Array.slice + 隐式扩展转换为 C++ vector

Converting JavaScript Array.slice + implicit extension to C++ vector

本文关键字:转换 扩展 C++ vector JavaScript Array slice      更新时间:2023-09-26

我正在移植一个JavaScript代码到C++。

伪代码 :

如果 n = 1,则 APPEND(订单,订单)

JavaScript(顺序和顺序是数组):

var order = new array();
var orders = new array();
//....
if (n == 1)
{
    orders[orders.length] = order.slice(); // append copy
}

我在C++中使用向量而不是数组.我认为C++代码应该只是:

vector<int> order;
vector<vector<int> > orders;
//.....
orders.push_back(order)

对于上述 psudeo 和 javascript 代码,这段代码是否正确?

你有一个条件n == 1我不知道你为什么在你的C++实现中跳过它.
在评论中,您说您正在使用slice()来制作原始列表的副本,因此您还需要在C++实现中执行相同的操作。

vector< vector<int> > orders;
vector<int> order;
//and to clone and append
std::vector cloned;
std::copy(order.begin(), order.end(), std::back_inserter(cloned));
if(n == 1)
   orders.push_back(cloned);