23.07.30 17:03 작성
·
330
1
17:30 분쯤
C++ 에서 배열과 배열의 길이를 압축(간단히, 묶어서)해서 넘기는 방법이 있다고 하셨는데 그게 무엇인가요?
답변 1
1
안녕하세요, 답변 도우미 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;
}