C++에서 바뀐 입출력 스타일 헤더, cout, cin, namespace와 std::의 의미, using

헤더
C언어
#include <stdio.h>
C++의 옛날 스타일
#include <iostream.h> //오류발생
C++ 현재 스타일
#include <iostream>

C++에서 추가된 namespace 40p

여러 사람이 동시에 한 프로젝트를 만들 때 중복된 함수명, 변수명을 쓰게 된다면..?
컴파일 오류가 발생한다.
그럼 일일이 중복되는 것들을 다 고쳐줘야된다.
namespace는 이런 상황을 방지하기 위해 나온 것

namespace AAA
{
  void function()
 {
 }
}
namespace BBB
{
 void function()
 {
 }
}

int main(void)
{
 AAA::function() //A함수 호출
 BBB::function() //B함수 호출
}

cout와 cin, endl은 std라는 namespace에 정의된 함수이기 때문에
std::cout, std::cin, std::endl로 사용됨
int k, l;
std::cin>>k>>l;
std::cout<<"하이"<<k<<"명"<<std::endl;
이런식으로 사용..

std::라고 쓰는게 귀찮으니까... 이걸 계속 쓰겠다는 명령을 내려줄 수 있음

using std::cout;
using std::endl;
using std::cin;
이 세 가지는 std::를 안 붙이고 그냥 계속 쓰겠다는 선언

using namespace std;
std의 모든 명령어를 std::안 붙이고 쓰겠다는 선언...
이 경우 중복되는 함수가 있으면 오류가 날 수도 있다.

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available

− 1 = 9