Когда функция (вызываемая) возвращает количество функции вызывающего, возвращается ли она значение или по ссылке?
Дело в том, что я написал функцию, которая строит очень большой вектор при вызове. Я хочу вернуть этот большой вектор в вызывающую функцию (в данном случае main()
) с помощью постоянной ссылки, чтобы я мог выполнить некоторую дальнейшую обработку на ней.
У меня возникло сомнение, потому что мне сказали, что когда функция С++ возвращает и завершает работу, все переменные/память, связанные с этой функцией, становятся чистыми.
struct node{
string key;
int pnum;
node* ptr;
}
vector< vector<node> > myfun1(/*Some arguments*/)
{
/*Build the vector of vectors. Call it V*/
return v;
}
int main(void)
{
a=myfun1(/* Some arguments */)
}