다음 중 키워드를 사용해야 하는 상황은?
다음 중
new
키워드를 사용해야 하는 상황은?// 상황 A: 고정 크기 배열
int scores[10];
// 상황 B: 사용자 입력에 따른 가변 크기
int size;
cin >> size;
// size에 따른 배열 생성 필요
// 상황 C: 지역 변수
int temp = 100;
// 상황 D: 문자열 상수
string name = "John";
정답: B
new
는 컴파일 타임에 크기를 알 수 없는 동적 메모리가 필요할 때 사용합니다.각 상황 분석:
상황 A -
new
불필요:⦁
int scores[10];
은 고정 크기 배열입니다.⦁ 컴파일 타임에 크기가 결정되므로 자동 메모리 관리가 됩니다.
⦁ 스택 메모리에 할당되어 scope가 끝나면 자동 해제됩니다.
상황 B -
new
필요:⦁ 사용자 입력에 따라 배열 크기가 런타임에 결정됩니다.
⦁ 컴파일러가 미리 메모리를 할당할 수 없습니다.
⦁ 동적 할당이 반드시 필요한 상황입니다.
상황 C -
new
불필요:⦁
int temp = 100;
은 일반 지역 변수입니다.⦁ 자동 저장 기간을 가지므로 컴파일러가 메모리를 관리합니다.
상황 D -
new
불필요:⦁
string name = "John";
은 일반 객체 생성입니다.⦁ string 클래스 내부에서 필요한 경우 동적 할당을 처리합니다.
상황 B의 해결책:
int size;
cout << "배열 크기 입력: ";
cin >> size;
int* dynamicArray = new int[size]; // 동적 할당
// 배열 사용...
delete[] dynamicArray; // 해제
💡 학습 팁
이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.