본문 바로가기

C++

([C++] 2강) iostream과 cout

 

 

 

C언어와 C++은 매우 유사합니다.

 

이것을 토대로 C언어의 프로그램 시작점이 어디냐! 라고 물어본다면,

 

C언어의 프로그램 시작점은 main함수다! 라고 말할 수 있었습니다.

 

C++은 다를까요? 아뇨, C++도 마찬가지입니다.

 

자 그럼 C언어에서의 기억을 살려서 메인함수를 만들어 보도록 하죠!

 

int main()
{
}

이렇게 말이죠!

 

자, 그럼 이제 화면에 Hello, World!! 라는 문구를 출력해보겠습니다!

 

아! printf ! 그쵸, C언어에서는 화면에 문구를 출력하기 위해 printf 함수를 사용했습니다.

 

하지만 C++에서는 printf와 하는 역할이 같은 다른 기능, cout이라는 기능을 사용할겁니다.

 

printf를 사용하기 위해서 우리가 무엇을 했었는지 기억 하시나요?

 

printf라는 함수는 우리가 만든적이 없고, stdio.h라는 헤더에 미리 만들어져 있는 함수이기 때문에,

 

우리는 맨 위에

#include <stdio.h>

이 구문을 넣음으로써 stdio.h 헤더를 사용하겠다! 라고 명시를 해준다고 했습니다.

 

하지만, 이것은 C언어입니다! C++에서는 cout을 사용한다고 했죠!

 

이 cout은 iostream이라는 헤더 안에 정의되어있습니다. 그럼 iostream 헤더를 사용선언 해볼까요?

 

#include <iostream>

자, 눈치 채셨나요? .h가 사라졌습니다! C++에서는 .h를 붙이지 않습니다!

 

.h를 붙이는 경우도 있지만 대표적인 헤더들은 붙이지 않습니다!

 

C++에서는 이대로 강의를 하다보면 헤더를 만드는 방법도 배우게 될겁니다.

 

그렇게 내가 직접 만든 헤더들이나 .h를 붙이고 그 이외에 기본제공되는 헤더들은 .h를 붙이지 않으니 참고해주세요!

 

또!, 그럼 C에서 사용하던 stdio.h나 stdlib.h는 못사용하나요?

 

아닙니다, 위 두가지 헤더 이외에도 가장핵심적인 헤더들 몇가지는 cstdio나 cstdlib처럼 맨앞에 c를붙이고

 

맨뒤에 .h를 생략하여 같은 기능을 쓸 수 있도록 지원합니다

 

자 그럼, cout을 사용해볼까요?

 

cout의 사용법은 아래와 같습니다

 

std::cout << 출력내용;

이렇게 쓰면 됩니다! 출력 내용에는 문자열이 들어갈 수도있지만

 

C언어와 달리 포맷을 정해주지 않아도, 변수도 화면에 출력할수 있습니다!

 

std:: 이건 뭐냐 물어보실수있지만  바로 다음강의에 설명드리겠습니다!

 

자 그럼 바로 해볼까요?

 

#include <iostream>

int main()
{
	int a = 32;
	std::cout << "Hello, World!";
	std::cout << a;
}

와! Hello, World와 마찬가지로 변수도 포맷을 정해주지 않았는데 32가 제대로 출력되네요!

 

만약에 줄바꿈을 하고싶다면 문자열 맨 끝에 \n를 넣어주면 되겠죠?

 

또! 여러개의 cout을 한줄로 할수도있습니다!

 

다음 예시를 보시죠!

 

#include <iostream>

int main()
{
	int a = 32;
	std::cout << "Hello, World!" << std::endl << a;
}

한번에 할수있다니 간단하죠?? 출력하고 싶은 요소의 내용들을 << 로 구분해서 넣어주기만 하면됩니다!

 

그럼 std::endl은 뭘까요! 사실 Hello,World\n을 해도 똑같은 결과가 나오겠지만 보여드리기 위해 endl을 사용했습니다

 

endl은 줄바꿈입니다! 저렇게 넣어주시면 endl을 기점으로 줄바꿈이 돼서 출력 되는것을 볼수있을 겁니다!

 

자 그럼 cout은 여기까지 하고 다음시간에 cout의 반대! cin과 네임스페이스에 대해서 알아보겠습니다!