[C++] C++에서 입출력을 담당하는 std:: cin , cout
안녕하세요 sdk입니다
본포스팅은 C언어를 알고있다는 가정하에 작성하였습니다
(참고용으로 사용하되 포스팅을 이용해 학습하는건 바람직하지 못할것같습니다)
네 C언어에서는
입력출력을 담당하는 함수가 대표적으로 두가지(후에 등장하는 gets함수등등은 제외합니다)
있었습니다
바로 printf함수와 scanf함수였죠
인클루드된 stdio.h에 정의가 되어있습니다
C에서는 각종 서식문자를 이용하여 출력합니다
1 2 3 4 5 | int num; printf("숫자를 입력해주세요:"); scanf("%d",&num); printf("입력하신 숫자는 %d 입니다 \n",num); |
매우 간단하게 작성한 예제입니다( include및 메인함수 부분은 생략하였습니다)
예제를 보면 알 수 있듯이
%d라는 서식문자가 등장합니다
그 곳에 num변수가 입력됩니다
뭐 예제는 간단히 설명하도록 하고
이제 C++로 이야기를 틀어봅시다
일단 위의 C언어 예제와 똑같은 결과를 내놓는 예제입니다
1 2 3 4 5 | int num; std::cout<<"숫자를 입력해 주세요"<<std::endl; std::cin>>num; std::cout<<"입력하신 숫자는 "<<num<<"입니다"std::endl; |
비교해봅시다
우선 함수의 형태가 아닌걸 알수있습니다(혹 C++의 연산자 오버로딩까지 공부하신분이라면 <<연산자오버로딩 함수의 호출이라는걸 알수 있겠지만 공부하지 못한 분들을 위하여 설명을 위해 함수라고 하지 않도록 하겠습니다)
(include<iostream> 및 메인함수는생략하였습니다)
가장 크게 눈에 뛰는 부분은
서식문자가 없다는것과 std::라는 이름공간 (namespace) (후에 포스팅하도록 하겠습니다)
에서 cin과 cout를 불러왔다는것이죠
위 예제의 std를 없애는건 후에 포스팅 하도록 하곘습니다
예제를 풀어보자면
num 변수를 선언한뒤
std::cout<<를 통해 문자열을 출력합니다
그런뒤 std::endl 을 이용해 개행을 합니다 (c언어에서 \n)
그후 3행이 실행되는데
cin>>num 은
c언어에서
scanf("%d",&num);
과 같습니다.
이해하셧다면 이제 4행으로 넘어가십시다
따움표 뒤에
<<num<< 이런식으로 이어저 있는게 보이시죠?
이것은 그 변수를 그곳에 놓는다(표현이 어렵네요 그냥 변수가 놓인다? 라고 설명할수 있을지도 모르겠네요)
그런뒤 다시 따움표로 문자열을 출력합니다
음..
더 쓸내용은 없구요
써보시면 알게됩니다
C언어보다 C++의 입출력이 훨씬더 간편함을 느낄수있습니다