해당 경우에는, 함수 내에서 값을 변경하더라도 main 함수에서는 영향이 없다.
#include<bits/stdc++.h>
using namespace std;
void func(vector<int> vect)
{
vect.push_back(30);
}
int main()
{
vector<int> vect;
vect.push_back(10);
vect.push_back(20);
func(vect);
for (int i=0; i<vect.size(); i++)
cout << vect[i] << " ";
return 0;
}
10 20
호출한 함수 내에서 vector 값을 변경하고자 하는 경우, 값에 의한 호출(call by value)이 아닌, 참조에 의한 호출(call by reference)을 이용한다.
#include<bits/stdc++.h>
using namespace std;
void func(vector<int> &vect)
{
vect.push_back(30);
}
int main()
{
vector<int> vect;
vect.push_back(10);
vect.push_back(20);
func(vect);
for (int i=0; i<vect.size(); i++)
cout << vect[i] << " ";
return 0;
}
10 20 30