我偶然发现了这个GitHub 项目。
虽然我一般不同意代码,但我无法完全理解这一行:
QProcess *p;
和p=*it;
当我觉得创建一个完全多余的新指针时我错了,或者我是否缺少某些目的,例如性能方面?
#define VM_COUNT 202
cout << "Creating process objects" << endl;
for(int i=0;i<VM_COUNT; i++)
vms.push_back(new QProcess(parent));
cout << "Processes created. Type 'asdf' or someting to start them...";
string s;
cin >> s;
cout << "Starting processes" << endl;
QProcess* p; // this <------
QVector<QProcess*>::Iterator it;
for(it=vms.begin(); it!=vms.end(); ++it){
p=*it; // this <------
p->start(command,args); // this <------
}
我会简单地选择:
for(it=vms.begin(); it!=vms.end(); ++it)
{
(*it)->start(command,args); // ty Mike
}