Home C++_Pass-by-Value
Post
Cancel

C++_Pass-by-Value

연관 개념: Pass-by-Reference(Cpp): 수정 가능한 데이터 전달

Pass-by-Value

함수에 데이터를 전달할 때는 값으로 전달(pass-by-value) 됨. 이 값은 수정불가.

image.png

  • 데이터는 복사되어 전달된다.

  • 전달된 인수는 함수를 통해 변화되지 않음
    • 실수로 값 변경을 방지한다.
  • 값을 변화시키는 기능이 필요하거나, 복사 비용이 높을 때를 위한 방법: 포인터, [[reference(참조자)(Cpp)]]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>

void param_test(int formal)
{
	std::cout << formal << std::endl;
	formal = 100;
	std::cout << formal << std::endl;
}

int main()
{
	int actual = 50;
	std::cout << actual << std::endl;
	param_test(actual);
	std::cout << actual << std::endl;
	return 0;
}
1
2
3
4
50    //actual 값
50    //actual 이 들어간 formal
100   //100으로 초기화한 formal
50    //actual 값
This post is licensed under CC BY 4.0 by the author.