Когда функция (вызываемый) возвращает значение вызывающей функции, возвращается ли оно значением или ссылкой?
Дело в том, что я написал функцию, которая строит очень большой вектор при вызове. Я хочу вернуть этот большой вектор вызывающей функции (в данном случае main ()
) по постоянной ссылке, чтобы я мог провести с ним некоторую дальнейшую обработку.
Я сомневался, потому что мне сказали, что когда функция C ++ возвращается и завершается, все переменные / память, связанные с этой функцией, стираются.
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 */)
}