[C++] 1. HelloWorld 분석하기

Sireal·2022년 2월 15일
0
#include <iostream>
int main(){
	std::cout << "Hello, World!!" << std::endl;
	return 0;
}

첫(?) 헬로월드 코드

  • include

    • iostream : C++ 표준 I/O(입출력) 라이브러리
      • C에서 stdio.h 와 비슷한 친구
    • C++에서는 헤더파일 뒤에 .h를 안넣음.
  • Name Space _ 이름공간

    • std::cout 에서
      'std'를 이름 공간이라고 함.
    • C에서 워낙 코드가 많이짜져서, 다른 소스와 겹칠우려가 있었음.
    • C++을 고안할때 그냥 namespace 개념을 두고 코드를 짜버림.
    • 무언가 선언하고 사용할때 namespace내에 선언하고 사용함.
  • 예시

  // header1.h
  namesapce header1{
  	int foo();
  ...
  }

  ...
  // main.c
  int func(){
  	header1::foo();
  }
  • namespace header1의 foo()를 부른 예시
    • header1같은 친구를 계속 부르기 귀찮으면 using 을 사용하면 된다.
  // header1.h
  namesapce header1{
  	int foo();
  ...
  }

  ...
  
  // main.c
  using header1::foo; // 사용할 함수만 using 해도 됨.
  int func(){
  	foo();
  }
  
  ...
  
  // main.c
  using namespace header1; // namespace 자체를 using 해도 됨.
  int func(){
  	foo();
  }
  • 그렇다면 한번 사용해 봅시다
    #include <iostream>
    using namespace std;
    int main(){
    	std::cout << "Hello, World!!" << std::endl;
    	return 0;
    }
    • std 는 usin namespace를 사용하는 것을 추천하지 않음.
  • std::cout 은 stdout을 담당하는 친구

이름없는 이름 공간

namespace{
  
  int OnlyInThisFile(){ ... }
  
  int main(){
  	OnlyInThisFile();
  }
  
}
  • 위와 같이 namespace에 이름을 지정하지 않으면
    static 키워드를 사용한 효과와 같은 효과를 낼 수있다.

참고

profile
달리다 넘어져도 아픔마저 즐기려하는 사람

0개의 댓글