#include <iostream>
int main() {
std::cout << "Hello\n";
std::cout << "맛보기 내용입니다.\n";
return 0;
}
[#] 전처리기에게 내리는 지시를 뜻한다. 컴파일 전에 헤더 파일을 소스에 확장하게끔 한다.
[iostream] 입출력과 관련된 라이브러리로 cout, cin, <<, >> 연산자 등을 포함한다.
[std] standard. namespace 이름으로 중복 이름 사용을 방지하기 위해 사용한다.
namespace란?
파일명이 충돌할 때, 폴더를 나누는 것처럼 이름 충돌을 해결하기 위해 사용한다.
cout이나 cin 등은 std라는 namespace에 선언되어 있는 것이다. 직접 선언하여 사용할 수 있다.
나는 매번 namespace:: 적기가 너무 귀찮은데?
using 지시어를 사용하면 된다.
using std::cout; // cout에 대해서만 std::를 생략 가능
using namespace std; // std 공간 내에 있는 모든 이름에서 std:: 생략 가능
std::cout << "Hello" << "맛보기 내용입니다.";
함수처럼 실행-출력 되는 구조이므로 위와 같이 연달아 사용도 가능하다.
int n = 3;
char c = "#";
std::cout << c << 5.5 << '-' << n << "hello" << true;
bool, char, short, int, long, float, double 등 여러 데이터 타입이 사용 가능하다.
#5.5-3hello1 로 출력된다. (true는 1로 출력된다.)
연산식 외에 함수 호출 또한 가능하고, 줄바꿈 문자는 '\n' 혹은 std::endl을 사용한다.
cin으로 값을 입력받을 때, 공백을 포함하려면 getline을 사용한다. 이 때 사용법은 두 가지가 있다.
1. cin.getline(address, 100, '/n');
2. getline(cin, address); 전역함수
헤더 파일은 어디에 있는거지?
include 폴더에 txt 파일로 들어있다. 이때 이 txt 파일은 함수의 원형을 선언해둔 파일이고, 실질적인 코드는 lib 폴더에 들어있다.
그러면 헤더 파일을 왜 써?
사용자 프로그램에서 strcpy() 함수를 호출했다고 했을 때, 그 구문이 정확한지 컴파일러가 확인해야 하기 때문에 필요하다.