c++0608

|


#namespace

하나의 프로그램에 같은 이름의 변수, 함수, 클래스 등이 있으면 안된다.

이러한 것을 막기 위해 namespace를 사용한다.

main() 함수 위에 선언되어 있어야 한다.

정의
namespace NAME
{
변수, 함수, 클래스 정의
...
}

namespace를 정의한 후 그 안에 포함된 것을 사용하기 위해서는
NAME::변수, NAME::함수, NAME::클래스 등과 같이 사용한다.

1) 개별적으로 줄여서 사용하는 방법
using NAME::myfunc;
2) 네임스페이스 자체를 기본으로 설정
using namespace NAME;




#include <iostream>

using namespace std;

namespace A
{
    void showTest()
    {
        cout << "namespace A test" << endl;
    }
}

namespace B
{
    void showTest()
    {
        cout << "namespace B test" << endl;
    }
}

using B::showTest;

int main()
{
    A::showTest();
    showTest();

    return 0;
}

Result--------------------------------------------------------------------------------------------------------------

namespace A test
namespace B test

Result--------------------------------------------------------------------------------------------------------------




레퍼런스

변수의 별명, 변수처럼 사용

포인터는 메모리가 할당되나 레퍼런스는 메모리가 할당되지 않고 해당변수의 별명으로만 추가될 뿐이다.

반드시 초기화해야 하며, 초기화 시에 상수를 대입할 수 없다.

한 번 초기화하면 초기화 시에 대입했던 변수 이외의 변수의 별명으로 바뀌지 않는다.









'C++' 카테고리의 다른 글

C++ 생성자  (0) 2010.08.13
생성자와 소멸자  (0) 2010.08.13
c++ 오버라이딩  (0) 2010.07.03
동적 할당 0614  (0) 2010.06.14
c++ 0610  (0) 2010.06.10
And