반응형
'namespace'
'namespace'는 '책장'과 비슷하다.
- 프로그래밍에서는 많은 코드들이 서로 다른 '책장'에 저장된다.
- 이렇게 다른 '책장'에 저장하게 된다면
- 같은 이름을 가진 도구를 어느 '책장'에 속하는지에 따라 구별할 수 있다.
'std'
- 'std'는 c++의 표준 라이브러리를 담고 있는 '책장'의 이름이다.
- 표준 라이브러리에는 프로그래밍을 할때 자주 사용하는 요소가 있다.
(입출력, 문자열 처리, 데이터 구조 등 다양한 기본적인 기능)
대표적으로
'cout'이나 'cin'이 있다.
또한 이것을 출력할 떄는 'std::cout', 'std::cin' 으로 사용해야 한다.
'using namespace std;'
- 'std' namespace에 속한 모든 도구들을 프로그램에서 사용할때
'std::' 접두사 없이 사용할 수 있게 한다. - 코드의 가독성을 높이고, 코딩을 더욱 신속하게 할 수 있다.
'std::cout' 대신 'cout'만 써도 되고,
'std::cin' 대신 'cin'만 써도 된다.
장단점
장점 | 단점 |
코드의 가독성 향상 | 다른 라이브러리의 요소와 이름 충돌의 위험 |
표준 라이브러리 요소를 빠르게 사용가능 | 코드의 명확성 감소 |
코딩 속도 향상 | 대규모 프로젝트에서 관리 어려움 |
장점 활용
- 'using namespace std;' 를 사용해 c++의 기본적인 개념과 표준 라이브러리에 쉽게 익숙해질 수 있다.
- 코드의 간결성을 중요시하고 이름 충돌의 가능성이 낮은 경우 사용한다.
(소교모 프로젝트, 알고리즘 문제 해결)
단점 회피
- 다양한 라이브러리를 사용하는 대규모 프로젝트인 경우,
구체적인 'std::'접두사를 붙여 각각 출처를 정확하게 하는 것이 좋다.
참고
나는 'using namespace std;'를 알고리즘 문제를 풀때 사용한다.
장단점을 잘 이해하고,상황에 맞게 적절히 활용해야한다.
끝
반응형
'c++ > c++' 카테고리의 다른 글
[c++] sort (1) | 2025.03.02 |
---|---|
[c++] 팩토리얼 계산하기 (0) | 2024.04.28 |
[c++] 소수점 자릿수 조절하기 (0) | 2024.02.21 |
[c++] (0) | 2024.02.18 |
[c++] #include <bits/stdc++.h> (0) | 2024.02.18 |