본문 바로가기
Program/C++ MFC

[MFC / C++] std 함수 정의와 사용 방법 / 표준 입출력 namespace 정의 (std 생략하기)

by 냠만 2024. 5. 12.

[std란]

모든 프로그램 언어가 그렇듯 C++에서도 많은 표준 라이브러리를 지원합니다.
대표적으로 프로그램 입문에서 배우는 #Include <stdio.h>가 있습니다.
바로 표준 입출력 제어를 쉽게 할 수 있도록 도와주는 헤더 파일입니다.
std는 "Standard" 표준의 약자로 C++ 표준 라이브러리의 모든 식별자를 직접 사용할 수 있도록 도와줍니다.

추가로 여러 라이브러리를 지원하는데 종류가 워낙 방대하여 위키를 참조하시는게 좋습니다.

간단하게 확인하는 방법은 std 입력 후 마우스 우클릭 -> F12버튼을 클릭해 참조 함수를 확인할 수 있습니다.


[std 대표 함수]


프로그램에 입문하게 되면 가장 먼저 출력에 대해 배우게 됩니다.
C언어에서는 Print.f를 배우는데요. C++에서도 동일하게 사용 가능하지만 표준 입출력 함수로 쉽게 구현할 수 있습니다.

std로 사용하는 함수 중 대표적인 함수는 cout, cin, endl 함수가 있습니다.
C언어로 풀어 쓰면 Printf, Scanf, \n이 됩니다.
각각 검은화면의 콘솔창에 출력, 입력, 개행을 담당하고 있습니다.

참고로 cout 함수는 참조를 보면 ostream에 포함되어 있는 걸 확인할 수 있습니다. 

사용 방법은 std::cout 형식으로 사용하게 됩니다.
여기서 '::'은 스코프 분석 연산자라 불립니다. 

 

[스코프 분석 연산자(::) Scope resolution operator]

컴파일러가 네임스페이스에서 식별자를 찾게하는 방법입니다. 네임스페이스 뒤에 사용하여 안쪽 식별자를 인식시키는 구조로 되어있습니다.
(Namespace::Function)


그렇다면 Namespace는 무엇인지 간단하게 알아야 합니다.
Namespace는 공동작업을 하는 경우 동일한 함수명을 구분 짓게 해주는 식별자라고 생각하시면 될 것 같습니다.
C#에서의 클래스를 C++에서는 네임스페이스로 구분합니다.

 

C#과 동일하게 스코프 분석자를 생략하려면 namespace를 참조시켜주면 됩니다.

해당 클래스의 최 상단에 using namespace std; 를 입력해 주면 됩니다.