应该怎么ret回去啊,目前是放在成员变量pid里面,
刚接触c++不是很懂
我不想放在成员变量里面,想直接return回去
string* pid = new string[130];//这130要怎么设置,也许数组不止130、系统进程不止130个
string* start() {
for (i = 0; i < cProcesses; i++)
{
if (aProcesses[i] != 0)
{
string* d= PrintProcessNameAndID(aProcesses[i]);//取进程名,和进程pid
if (d[0]=="undefined")
{}
else
{
pid[i] = d[0];
}
}
}
好比php的for循环
public $pid=array(“aaa”,“aaaa”,“aaaaa”);
public function start(){
for($i=0;$i<sizeof($pid);$i++){
$tmp[]=$a[$i]
}
return $tmp
}
如果要直接 return 出去,返回类型应该是一个指针类型,或者准确点说是一个 const 指针类型。
但是这样 return 出去的指针得不到容量信息,也就是没得 size/length。
所以 C/C++ 一般会采用输出参数的方式来输出,比如
test1
用指针的指针把指针带出来 C/c++ 适用。C++ 中也可以用引用来干这个事情。另外size
也可以不用返回,用参数带出来:或者干脆就用 std::vector 吧
用 for 遍历 vector
用 iterator 遍历
如果是字符串的话,用 vector 大概可以这样写
但确实太没用写过 C++(有十多年了),而且最近几年 C++ 更新很快,所以不太清楚是否有更好的写法,以及这个写法是否存在内存问题。