Channi Studies

[c++] using namespace std; 본문

C++/기타

[c++] using namespace std;

Chan Lee 2023. 12. 5. 11:54

c++ 에서 기본적인 입출력 연산자인 cin, cout 등 명령어를 사용할 때 std::cout을 사용합니다.

그 이유는 소속을 나타낸다고 해석하면 편리합니다.

 

std가 아닌 다른 namespace 에도 cin, cout 명령어가 존재할 수 있습니다.

이런 경우를 대비해서, 명령어 앞에 소속 namespace를 명시해서 사용하는 것입니다.

 

하지만 std::를 반복하여 붙이는 것은 꽤나 귀찮은 일이기에, 

using namespace std;

라는 명령어를 포함하여 std를 생략할 수 있습니다.

 

가령  다음과 같은 코드가 있다면, 

#include <iostream>

int main(){
    std::cout << "안녕하세요 여러분!" << std::endl;
    std::cout << "제 이름은 홍길동 입니다!" << std::endl;
    std::cout << "저는 만 21세입니다!" << std::endl;
    std::cout << "잘 부탁드립니다!" << std::endl;    
    
    return 0;
}

 

모든 cout 과 endl 명령어에 std::를 동반하여 타이핑 하는 것이 귀찮기 때문에,

다음과 같이 변경하면 가독성도 챙기고 프로그래밍도 편리합니다.

 

#include <iostream>
using namespace std;

int main(){
    cout << "안녕하세요 여러분!" << endl;
    cout << "제 이름은 홍길동 입니다!" << endl;
    cout << "저는 만 21세입니다!" << endl;
    cout << "잘 부탁드립니다!" << endl;    
    
    return 0;
}

 

하지만, using namespace std; 를 사용하게 되면 std namespace에 속한 사용하지 않을 모든 명령어까지 불러오게 되기 때문에, 비효율적인 측면이 있습니다.

 

이럴 경우, 다음과 같이 코드를 사용할 명령어만 명시하는 방식으로 변경하는 것도 고려하면 좋습니다.

#include <iostream>
using std::cout;
using std::endl;

int main(){
    cout << "안녕하세요 여러분!" << endl;
    cout << "제 이름은 홍길동 입니다!" << endl;
    cout << "저는 만 21세입니다!" << endl;
    cout << "잘 부탁드립니다!" << endl;    
    
    return 0;
}

 

'C++ > 기타' 카테고리의 다른 글

[C++] 정수끼리의 나눗셈  (0) 2023.12.07
[C++] Increment/Decrement Operator (증감연산자) ++, --  (0) 2023.12.07
[C++] Assignment Operator (할당 연산자), =  (0) 2023.12.06
[C++] 배열 (Array)  (0) 2023.12.05
[C++] 상수(constant)  (0) 2023.12.05