인프런 커뮤니티 질문&답변

공부하는이님의 프로필 이미지

작성한 질문수

홍정모의 따라하며 배우는 C언어

10.7 배열을 함수에게 전달해주는 방법

배열 매개변수 길이 관련 c++

23.07.30 17:03 작성

·

330

1

 

17:30 분쯤

C++ 에서 배열과 배열의 길이를 압축(간단히, 묶어서)해서 넘기는 방법이 있다고 하셨는데 그게 무엇인가요?

 

답변 1

1

Soobak님의 프로필 이미지

2023. 07. 31. 06:35

안녕하세요, 답변 도우미 Soobak 입니다.

C++ 언어에서는 표준 라이브러리의 '컨테이너' 들로 정적/동적 배열 등의 기능을 사용할 수 있습니다.
배열의 정보들이 내부에 포함된 컨테이너들을 사용하여 보다 편리하게 함수에 전달할 수 있으며,
따배씨(++) 에서 자세히 학습하시게 됩니다.

간단한 사용 예시 코드를 첨부드립니다.

  • std::array

    #include <array>
    
    double average(std::array<double, size> arr)
    {
        double sum = 0.0;
        for (double num : arr)
            sum += num;
    
        return sum / size;
    }
    
    int main()
    {
        std::array<double, 5> arr = {1.0, 2.0, 3.0, 4.0, 5.0};
        double avg = average(arr);
    
        return 0;
    }
  • std::vector

    #include <vector>
    
    double average(const std::vector<double>& arr)
    {
        double sum = 0.0;
        int size = arr.size(); // 동적 배열의 크기 정보가 내부에 담겨있습니다.
        for (double num : arr)
            sum += num;
        
        return sum / size;
    }
    
    int main()
    {
        std::vector<double> arr = {1.0, 2.0, 3.0, 4.0, 5.0};
        double avg = average(arr);
    
        return 0;
    }