iostream.h 는 구버전 파일이며
iosteam은 신번전 헤더 파일이다
iosteam.h에서 cout는
cout<< 값<<endl; 이런 형식이다.
iostream에서 cout는
std::cout<<값<<std:endl; 이런 형식이다
오버로딩
같은 이름의 함수가 있고
이 함수에 전달되는 인수의 형식은 다를경우
C 같은 경우는 컴파일시 에러가 난다
왜! C에서는 함수를 찾을때 함수명만 가지고선 찾기 때문에
같은 이름의 함수가 두개 이므로 에러가 발생된다
그러나 C++은 함수를 찾을때
C와는 달리 함수명과 전달되는 인수 형식까지도 구분한다.
따라서 C++에서 컴파일하게 되면 에러가 발생되지 않는다
이처럼 함수명은 같고 전달되는 인수형식이 다른것을
오버로딩이라고 하며,
오버로딩에도 여러 가지가 있다.
여기선 함수를 사용했으므로
함수 오버로딩이라고 한다.
인라인함수
inline가 붙은 함수를 말한다.
이는 매크로 함수의 후속버전이라고 할가
그러나 차이가 있다.
매크로 함수는 전처리기에 의해 처리되지만
inline 함수는 컴파일러에 처리가 된다.
이름공간
함수들이나 기타 변수들을 묶어서 이름을 지정한하는 것을 말한다
NameSpace라는 키워드를 쓴다
NameSpace { 함수,변수들}
NameSpace의 함수나 변수 호출시
::(범위 지정 연산자) 를 사용한다.
네임스페이스명::함수나 변수명
using
단어 뜻 그래도 무엇을 사용할지를 지정한다.
네임스페이스에 함수나 변수를 호출시에는
네임스페이스명::함수명 변수명 사용해야 한다.
그러나 using를 사용하면 네임스페이스명을 생략하면
어떤 것이라고 지정할수도 있다.
using namespace 네임스페이스명 와 같이 하면
네임스페이스명의 함수명이나 변수명을 :: 사용하지 않고 사용해도 된다.
using 네임스페이스명::함수명 변수명은
지정된 함수명,변수명은 네임스페이스명을 지정하지 않고 사용해도 된다.
전역 변수와 지역 변수가 같은 이름의 변수가 있을때
지역에서 전역 변수를 호출하려면 ::변수명 하면 전역 변수를
참조할 수 있다.
'C,C++' 카테고리의 다른 글
힙에 메모리 할당.해제 (0) | 2012.08.13 |
---|---|
C++에서 레퍼런스 (0) | 2012.08.05 |
메모리 (0) | 2012.07.31 |
const 키워드 (0) | 2012.07.31 |
c,c++,c#은 (0) | 2012.07.29 |