다음 두 코드는 동일한 결과를 출력합니다. 두 번째 코드에서 사용된 문법의 이름은?

과목: C++

문제 번호: 3281

medium
다음 두 코드는 동일한 결과를 출력합니다. 두 번째 코드에서 사용된 문법의 이름은?
// 코드 1
#include <iostream>
using namespace std;
int main() {
    cout << "Hello World!";
    return 0;
}

// 코드 2  
#include <iostream>
int main() {
    std::cout << "Hello World!";
    return 0;
}
A. 네임스페이스 생략(namespace omission)
B. 스코프 해결 연산자(scope resolution operator)
C. 표준 라이브러리 직접 접근
D. 헤더 파일 최적화

정답: B



⦁ 두 번째 코드에서 std::cout에 사용된 ::는 **스코프 해결 연산자(scope resolution operator)**입니다

두 가지 방법의 비교:

방법 1: using namespace std 사용
using namespace std;를 선언하면 std::를 생략할 수 있습니다
⦁ 코드가 간결해지지만 네임스페이스 충돌 가능성이 있습니다

방법 2: std:: 직접 사용
using namespace std 없이 std::를 매번 붙여서 사용
⦁ 코드가 조금 길어지지만 더 명확하고 안전합니다

스코프 해결 연산자의 역할:
std::cout는 "std 네임스페이스 안의 cout 객체"를 의미
⦁ 어떤 네임스페이스의 요소인지 명확하게 지정
⦁ 같은 이름의 다른 객체와 구분하는 역할

⦁ 두 방법 모두 올바르며, 개발자의 선호에 따라 선택할 수 있습니다

💡 학습 팁

이 문제를 포함한 C++ 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.