강의

멘토링

커뮤니티

Inflearn コミュニティ Q&A

kgh060792762 のプロフィール画像
kgh060792762

投稿した質問数

ホン・ジョンモの真似しながら学ぶC++

7.5さまざまな戻り値(値、参照、アドレス、構造体、タプル)

std::array function parameter data type 질문

作成

·

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++

回答 2

1

honglab님의 프로필 이미지
honglab
インストラクター

좋은 질문입니다. std::array의 복사 생성자가 호출이 되기 때문에 복사를 하게 될겁니다. 뒤에서  클래스와 다양한 생성자 만드는 방법을 배우신 후에 직접 실험해보실 수 있게 됩니다. copy constructor가 아니라 move constructor를 호출하는 방법은 뒤에 나옵니다.

0

kgh060792762님의 프로필 이미지
kgh060792762
質問者

그러면 메모리를 효율적으로 사용하기위해 우선 지금은 참조로 사용하면 되겠네요. 감사합니다. 도움이 많이되었습니다. 

kgh060792762 のプロフィール画像
kgh060792762

投稿した質問数

質問する