Hi all, I just start learning c++ and I'm a little bit confused with passing parameters to function. hope you can help me out
Check the example:
Code:
//definition of a function
vector<int> sub_vec( const vector<int> &vec, int val )
{
vector<int> local_vec( vec );
//do operations on local_vec,
......
}
to get a local copy of vec which is passed from the caller function, can I just instead write
Code:
vector<int> sub_vec( vector<int> local_vec, int val)
{
//do operations on local_vec;
......
}
in the second case, what is passed? an address? the whole object "
vec"? when passing parameters, what is actually processed? an assignation (then second case is illegal, cuz local_vec may not be big enough) or just an initialization?
Thanks for help