이 글은 아래의 "c++프로그래밍" 강의를 바탕으로 작성하였습니다.
잘못된 내용이 있을 수 있습니다.
C언어에서 써왔던 printf()나 scanf()와는 달리 C++에서는 std::cout과 std::cin을 이용하여 값을 입력받고 출력합니다.
std::cout과 std::cin를 사용하기 위해서는 먼저 헤더파일 <iostream>을 가져와야 합니다.
헤더파일 : <iostream>
1. std::cout
std::cout은 값을 출력하는데 사용됩니다. <<를 사용하여 값을 계속 출력시킬 수 있습니다. 그리곤 end로 끝맺어줍니다.
예시는 아래와 같습니다.
#include<iostream>
int main(){
std::cout << "Hello World" << std::end;
}
//출력 결과: Hello World
만일 다음 줄로 넘기고 싶다면, '\n'을 사용하거나 end 대신 endl을 사용하면 다음 줄로 넘길 수 있습니다.
std::cout에는 int, float, string, char, long, short, double, bool 의 값을 출력하며,
함수의 리턴값도 출력할 수 있습니다. (ex. std::cout << f(x) << end;) => 이러면 f(x)의 리턴값이 출력됨
2. std::cin
위와 반대로 std::cin은 값을 입력받는데 사용합니다. >>을 이용하여 입력받으며, 계속해서 입력받을 수 있습니다. 위와는 반대로 std::end는 사용하지 않습니다.
#include <iostream>
#include <string>
int main(){
int a; float f; std::string s;
std::cin >> a >> f >> s;
}
3. using namespace std
이름 충돌을 방지하기 위한 것으로, std는 표준에서 정의한 namespace(이름공간)중 하나입니다. namespace는 변수, 함수와 같은 이름들을 분리하여 저장하게 합니다.
원래는 cin이니 cout이니 std의 이름공간 안에 있어 std::로 접근해줘야 하나, 매번 쓰기는 번거롭잖아요>
그래서 using namespace std를 이용해 지금 있는 곳의 이름공간은 std라고 선언합니다. 이러면 std::를 번거롭게 계속 사용하지 않고 생략할 수 있게 됩니다. 아래와 같이요!
#include <iostream>
using namespace std;
int main(){
int i;
cin >> i;
cout << i << endl;
}