Shellbt's Blog

c++ namespace,using ? 2009/11/26

Filed under: Uncategorized — shellbt @ 2:07 PM

전달된 메시지
보낸사람: shellbt <shellbt>

날짜: 2009년 11월 26일 오후 2:05
제목: c++ namespace,using ?
받는사람: PostingWordPress <cume24jovi>

  1. 기본 개념
  1. 어떤 특정 공간을 지칭할 수 있는 이름을 부여해 주는 문법

예)

#include <iostream>

void function()
{
std::cout << "1st function" << std::endl;
}

void function()
{
std::cout << "2nd function" << std::endl;
}

void main()
{
function();
}

위와 같은 소스에서 main()에서 호출하는 function()은 어느 넘인지 확실치 않기 때문에 에러를 내게 된다.(컴파일 시에 에러 난다)
이런 경우 namespace을 사용하면 같은 이름의 함수를 간단하게 구분해서 사용할 수 있다.
다음은 위의 소스를 namespace을 사용해서 변경한 소스다.

#include <iostream>
namespace first
{

void function()
{
std::cout << "1st function" << std::endl;
}

}

namespace second
{

void function()
{
std::cout << "2nd function" << std::endl;
}

}
void main()
{
first::function();
}

위와 같이 main()에서 first::function()으로 호출을 하게 되면 프로그램은 첫 번째 function()함수를 호출한다.

하지만, 자주 사용해야 함수를 호출 할 때 마다 first::function() 이런 식으로 프로그램을 작성하다 보면 엄청 귀찮은 일이 된다.
그래서 이런 문제를 해결하기 위해서 사용하는 게 using이다.
unsig은 단어 뜻 그대로 사용하는데 쓰인다(앙?)
상세한 내용이 있을지도 모르지만, 귀찮으니 어케 쓰는지만 간단하게 언급

첫번째 방법 :
using 정의 하기 전에 함수 호출 ->
first::function();
이 녀석을 간단하게 함수 원형으로만 호출 할 수 있도록 사용하려면
using first::function;
이렇게 정의해 주면, 다음부터는 간단하게 function(); 으로 호출해 주면 function()은 first namespace에 있는 function()을 호출하게 된다.

두번째 방법 :
특정 namespace안에 함수만 호출하는게 아니라, namespace 전체를 사용하고 싶을 때,
using namespace first;
이렇게 정의하게 되면, namespace first 안에 속한 함수들은 그냥 원형으로만 호출해 줘도 알아서 알아듣고 그 넘들을 호출해 준다.
이 상황에 대한 확실한 예는 using namespace std; 을 찾아보길 바란다.

 

테스트 포스팅 2009/11/21

Filed under: Uncategorized — shellbt @ 10:40 PM

보석비빔밥 재밌다^^

 

리눅스 명령어 도움말 빨리 찾는 방법 2009/11/17

Filed under: 리눅스, 팁 & 테크 — shellbt @ 5:32 PM
Tags: , ,

command : apropos & whatis
    man 페이지에서 해당 검색어를 포함한 페이지를 찾아준다.

 

eclipse용 vim확장 plugin 2009/11/06

Filed under: 개발 & 코딩질, 리눅스, 팁 & 테크 — shellbt @ 3:05 PM
Tags: , , ,

http://sourceforge.net/projects/eclim/
설치 하는 과정이 GUI로 되어 있는데다가 필요로한 패키지 같은 것들을 자동으로
잡아주기 때문에 무척 편하다.

 

[eclipse] tab 대신 space을 사용하자 2009/11/05

Filed under: 개발 & 코딩질, 팁 & 테크 — shellbt @ 5:05 PM
Tags: , , ,

eclipse 메뉴에서
window->Preference->CodeStyle(java,cdt등에 있다.) 에서 현재 profile을 edit을 클릭해서 들어가면 tab policy가 있다.
여기서 “space only”을 선택하고 새로운 profile 이름으로 저장하면 된다.