함수에 vector 전달

Hyori-Choi·2023년 4월 28일
0

c++

목록 보기
1/1
post-thumbnail

함수에 vector 전달하기

#include <iostream>
using namespace std;
#include <vector>

void vec_push(vector<int> vec) {
	vec.push_back(5);
}

int main() {
	vector<int> vec;
	vec.push_back(10);

	vec_push(vec);
	
	for (int i = 0; i < vec.size(); i++)
		cout << vec[i] << " ";
	cout << "개수: " << vec.size();

	return 0;
}

이렇게 하면..

이렇게 되더라구요?..?
vector을 매개변수로 두면 해당 함수가 반환된 이후 main함수에서는 영향이 없다고 해요

그래서 해결책은
call by value가 아닌 call by reference를 이용하는 거!

void vec_push(vector<int> &vec) {
	vec.push_back(5);
}

이 부분만 바꿔주면 됩니당 & !!!!!!!!
결과를 보자면

잘 들어간게 보입니댜 ㅎㅎㅎ

profile
Front-end

0개의 댓글