Inflearn Community Q&A
std::array function parameter data type 질문
Written on
·
296
0
배열의 경우 값을 call by value 로 하면 배열 전체를 복사해서 비효율적이잖아요.
std::array 또한 함수 parameter 로
void fun_1(std::array<int, LEN> my_array);
이렇게 넘겨버리게 될경우 parameter 를 built in array 를 사용하는 것처럼 포인터로 넘어가는지 아니면 새로운 my_array 배열을 만들고 그 배열에 복사되는지 궁금합니다!
buit in array 를 parameter 로 할 경우
void fun_2(int *array_ptr);
감사합니다.
C++
Answer 2
1
honglab
Instructor
좋은 질문입니다. std::array의 복사 생성자가 호출이 되기 때문에 복사를 하게 될겁니다. 뒤에서 클래스와 다양한 생성자 만드는 방법을 배우신 후에 직접 실험해보실 수 있게 됩니다. copy constructor가 아니라 move constructor를 호출하는 방법은 뒤에 나옵니다.
0





