我在您访问网站时制作了跟踪网络请求的扩展程序。每次用户访问另一个网站时,扩展程序会检查以查找sites数组中的最新条目,以便它知道跟踪器数组中插入跟踪器的位置,但是由于某种原因,它们都会复制到跟踪器数组中的下一个元素。这是我的代码:
void A::useBptr()
{
for(int i = 0; i < 5; i++)
{
myvec1[i]->dummyUse();
}
for(int i = 0; i < 5; i++)
{
myvec2[i]->dummyUse();
}
}
A::~A()
{
for(int i = 0; i < 5; i++)
{
delete myvec1[i];
}
for(int i = 0; i < 5; i++)
{
delete myvec2[i];
}
}
假设我首先加载CNN的网站,我将获得对#34; http://z.cdn.turner.com/analytics/cnnexpan/jsmd.min.js&#34;的引用,然后在大约5个网站之后,会弹出相同的链接。我花了好几个小时试图弄清楚为什么上一个索引中的元素被复制到新的元素,但我无法看到问题。有什么建议吗?
答案 0 :(得分:1)
我能找到的唯一问题是使用这些类型的行:
trackers.splice(curNum, 0, trackers[curNum] + (...));
我认为他们应该是这样的:
trackers.splice(curNum+1, 0, (...));
然后添加新的跟踪器,您的当前跟踪器也将在那里。
另一个简单的方法(感谢@rsanchez)就是这样做:
trackers[curNum] = trackers[curNum] + (...);
或
trackers.splice(curNum, 1, trackers[curNum] + (...));