+) 함수에 vector 전달할 때(C++)

sonyrainy·2022년 8월 18일
1

프로그래머스_LV1

목록 보기
38/39

🦊vector인 매개변수를 함수로 호출하는 경우

해당 경우에는, 함수 내에서 값을 변경하더라도 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 값을 변경하고자 하는 경우

호출한 함수 내에서 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

(참고 : https://soyoonique.tistory.com/32)

profile
@sonyrainy

0개의 댓글