다음을 통해 공유


범위

C + + 이름 프로그램의 특정 영역에만 사용할 수 있습니다.이 영역에는 이름 "범위" 라고 합니다.개체의 정적 범위를 드러내지 않는 이름 "수명" 범위를 결정 합니다.범위 또한 클래스 생성자 및 소멸자가 호출 되 면과 범위는 지역 변수가 초기화 되 면의 이름, 표시 여부를 결정 합니다.(자세한 내용은 생성자소멸자입니다.) 5 가지 종류의 범위입니다.

  • 로컬 범위 블록 내에 선언 된 이름을 해당 블록 및 블록, 고 후 선언 지점에만 묶여 내 에서만 액세스할 수 있습니다.함수 본문 바깥쪽 블록 안에 선언 된 된 것 처럼 형식 인수가 함수는 가장 바깥쪽 블록의 범위에서 함수 이름을 로컬 범위가 있습니다.다음과 같은 코드 조각을 생각해 봅시다.

    {
        int i;
    }
    

    때문에 수는 i 굽은 중괄호로 묶어야 블록에서입니다 i 로컬 범위를 사용 하 고 코드 없이 여 닫는 중괄호 앞에 액세스 하므로 절대로 액세스할 수 있습니다.

  • 작동 범위 레이블은 함수 범위를 갖는 유일한 이름입니다.아무 곳 이나 내에서 함수를 사용할 수 있습니다 해당 함수 외부에서 액세스 가능 하지는 않지만.

  • 파일 범위 파일 범위가 모든 블록 또는 클래스 외부에서 선언 된 이름이 있습니다.해당 선언 다음 번역 단위에서 아무 곳 이나 액세스할 수 있습니다.정적 개체를 선언 하지 마십시오 파일 범위 이름이 전역 이름이 라고도 합니다.

    C + +의 파일 범위 라고도 하는 네임 스페이스 범위가입니다.

  • 클래스 범위 클래스 멤버의 이름을 가진 클래스 범위.클래스 멤버 함수는 멤버 선택 연산자만 사용 하 여 액세스할 수 있습니다 (. 또는 ->) 또는 포인터 멤버 연산자 (. * 또는 – > *) 개체 또는 해당 클래스의 개체에 대 한 포인터 비정적 클래스 멤버 데이터를 해당 클래스의 개체를 로컬 간주 됩니다.다음과 같은 클래스 선언을 참조 하십시오.

    class Point
    {
        int x;
        int y;
    };
    

    클래스 멤버 x 및 y 는 클래스 범위에서 간주 됩니다 Point.

  • 프로토타입 범위 는 프로토타입에 선언 되는 이름은 프로토타입 끝날 때까지 표시 됩니다.세 가지 이름 다음 프로토타입 선언 (strDestination, numberOfElements, 및 strSource). 이러한 이름 범위 끝에 프로토타입 이동 하십시오.

    errno_t strcpy_s( char *strDestination, size_t numberOfElements, const char *strSource );
    

참고 항목

참조

기본 개념