Функция в C ++ возвращается по значению или по ссылке?

Когда функция (вызываемый) возвращает значение вызывающей функции, возвращается ли оно значением или ссылкой?

Дело в том, что я написал функцию, которая строит очень большой вектор при вызове. Я хочу вернуть этот большой вектор вызывающей функции (в данном случае 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 */)
}
19
задан Benjamin 11 August 2014 в 10:16
поделиться