g*******n 发帖数: 214 | 1 如果一个函数返回一个vector*,比如是 return &vec (vec 是vector
>型的)。
问题是返回后如何访问每个string?试了很多都不对。。。请高人指点。 |
w**s 发帖数: 339 | 2 vector * p = yourfunction();
cout << (*p)[0] << endl;
这样难道不行?方便的话,贴下你的code吧。 |
g*******n 发帖数: 214 | 3 是那道打印括号的题目:addValidParenthesis是一个另一个函数,返回的结果是正确
的,因为我不用指针的话(如下面代码)是可以答应出来的。
vector Parenthesis::generateParenthesis(int n){
vector list;
addValidParenthesis(n-1, n, &list, "(");
/*cout<
for(int i=0;i
cout<
}
cout<
return list;
}
但是如果改为vector* 返回类型,并且上面代码只修改为return &list。在外
面用
vector* result = Parenthesis::generateParenthesis(3);
用 cout << (*result)[0] << endl;是打印不出来东西
请指教啊
【在 w**s 的大作中提到】 : vector * p = yourfunction(); : cout << (*p)[0] << endl; : 这样难道不行?方便的话,贴下你的code吧。
|
s***0 发帖数: 117 | 4 vector * dummyFunc();
void dummyFunc2()
{
// stuff
vector * vecStrPointer = dummyFunc();
vector::iterator it;
for (it = vecStrPointer->begin(); it!=vecStrPointer->end(); ++it)
{
// dereference it to access all elements of the vector.
}
} |
h*****f 发帖数: 248 | 5 variables on the stack are gone on return. |
l*********8 发帖数: 4642 | 6 vector list; 是局部变量,离开函数后就不存在了
可以改成:
vector * list = new vector;
【在 g*******n 的大作中提到】 : 是那道打印括号的题目:addValidParenthesis是一个另一个函数,返回的结果是正确 : 的,因为我不用指针的话(如下面代码)是可以答应出来的。 : vector Parenthesis::generateParenthesis(int n){ : vector list; : addValidParenthesis(n-1, n, &list, "("); : /*cout<: for(int i=0;i: cout< : } : cout<
|
g*******n 发帖数: 214 | 7 多谢!!
【在 l*********8 的大作中提到】 : vector list; 是局部变量,离开函数后就不存在了 : 可以改成: : vector * list = new vector;
|