IT Share you

규정 된 ID / 이름 및 규정되지 않은 ID / 이름은 무엇입니까?

shareyou 2021. 1. 8. 21:45
반응형

규정 된 ID / 이름 및 규정되지 않은 ID / 이름은 무엇입니까?


나는 많은 곳에서 그들을 만났기 때문에 누군가 거기에서 용어를 설명 할 수 있는지 궁금했다. 나는 그들에 대한 몇 가지 기본 이론을 알고 있지만 내가 아는 것이 옳고 그름을 확신하지 못합니다.

이 용어를 설명해 주시겠습니까?


정규화 된 이름은 클래스 사양, 네임 스페이스 사양 등과 같이 자신이 속한 위치에 대한 일종의 표시가있는 이름입니다. 정규화되지 않은 이름은 정규화되지 않은 이름입니다.

여기에서 James McNellis의 답변을 읽으십시오.

중첩 된 이름 지정 자란 무엇입니까?

주어진:

struct  A {
    struct B {
        void F();
    };
};
  • A입니다 비정규 - ID가 .
  • ::AA는 자격을 갖춘-ID 하지만이 없습니다 중첩 된 이름 지정을 .
  • A::BA는 자격을 갖춘-IDA::A는 중첩 된 이름 지정 .
  • ::A::BA는 자격을 갖춘-IDA::A는 중첩 된 이름 지정 .
  • A::B::FA는 자격을 갖춘-ID가 모두 B::하고 A::B::있습니다 중첩 된 이름 지정자 .
  • ::A::B::FA는 자격을 갖춘-ID가 모두 B::하고 A::B::있습니다 중첩 된 이름 지정자 .


규정 된 이름은 범위를 지정하는 이름입니다.
다음 샘플 프로그램을 고려하십시오. cout및에 대한 참조 endl는 규정 된 이름입니다.

#include <iostream>

int main()  
{
   std::cout<<"Hello world!"<<std::endl;
   return 0;
}

의 사용이 통지 coutendl함께 시작했다 std::. 이것은 그들을 정식 이름으로 만듭니다.

우리가 사용하는 선언이나 지침 * (예에 의해 범위에 COUT와 ENDL을 가져온 경우 using namespace std;), 그냥 사용 cout하고 endl그 자체로 그냥 그들은이었을 것입니다 자격이없는 이름 들이 부족 때문에, std::.

참조 URL : https://stackoverflow.com/questions/7257563/what-are-qualified-id-name-and-unqualified-id-name

반응형