namespace가 예상외의 복병이였군요!
강좌가 길어집니다..으윽...
그래도 우리는 계속 갑니다~ 오예~
소스/프로그램은 1-5를 통합하여 올리겠습니다.
*이 강좌는 C언어를 끝냈다는 가정하에 실시합니다.
┌───────────────┐
---앞으로의 목차---
5. namespace에 대해
2-1. bool형에 대해
2-2. Reference란.
└───────────────┘
1-5-2. namespace에 대해.
강좌를 계속합니다! 길어질수록 지루해 진다는 것을 잘 아는 제가 억지로 끌고 갈 이유야 없지요 하핫;;
방금전 강좌까지
A101::call();
과 같은 선언문을 보았습니다!
잘 보세요~ 어디서 많이 본 선언문 아닌가요?
네~ 그래요.
std::cout std::endl std::endl
과 같은 것들도 똑같은 형태를 하고 있습니다.
그렇다면 유추해 보죠!
std가 무엇일까요? 맞습니다! 바로, std도 namespace랍니다!
우리는 지금까지 std::cout std::cout std::cout ... 정말 너무나도 길게 써왔습니다.
cout, cin, endl 이렇게 간결하게 쓸수 있다면 얼마나 좋을까요?
그렇다면 꿈과 희망을 가능하게 해주는 C++의 능력을 살펴보죠!
/*
Using.cpp
*/
#include
namespace A101{
void call(){
std::cout<<"101동 leanix! 야 나와!"<
}
}
using A101::call;
int main(){
call();
return 0;
}
어엇? A101::call(); 처럼 길게만 작성해야 했던것을 call();로 짧게 작성함을 볼수 있습니다!
이걸 가능하게 해주는 키워드가 무엇일까요?
바로 using 입니다!!
using은 아래의 뜻을 가집니다.
"앞으로 call()이라는 함수를 호출하면 A101의 call을 호출하라!"
그렇다면 std:: 를 없에봅시다!
/*
Using2.cpp
*/
#include
using std::cout;
using std::endl;
int main(){
cout<<"leanix!"<
return 0;
}
후~ 간단해 졌어요~!!
더욱 간단하게 고쳐볼까요?
/*
Using3.cpp
*/
#include
using namespace std;
int main(){
cout<<"leanix!"<
return 0;
}
위의 using namespcae std; 부분은 std라는 namespace를 다 사용하겠다! 하는 선언입니다.
만약, 전역변수와 namespace의 변수가 같은 이름일 빼에는,
namespace의 변수가 우선되므로,
전역 변수를 사용하려면,
::변수명
처럼 이용해 주시면 된답니다!
이것으로 길었던 namespace에 대한 부분을 마칩니다.
더불어 1단원의 끝이기도 하죠.
다음강(2-1)에서는 bool형에 대해 알아보죠!
댓글 없음:
댓글 쓰기