강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của kgh060792762
kgh060792762

câu hỏi đã được viết

C++ Học Theo và Thực Hành của Hong Jeong Mo

7.5 Các giá trị trả về khác nhau (giá trị, tham chiếu, địa chỉ, cấu trúc, bộ dữ liệu)

std::array function parameter data type 질문

Viết

·

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

Câu trả lời 2

1

honglab님의 프로필 이미지
honglab
Người chia sẻ kiến thức

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

0

kgh060792762님의 프로필 이미지
kgh060792762
Người đặt câu hỏi

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

Hình ảnh hồ sơ của kgh060792762
kgh060792762

câu hỏi đã được viết

Đặt câu hỏi