반응형
규정 된 ID / 이름 및 규정되지 않은 ID / 이름은 무엇입니까?
나는 많은 곳에서 그들을 만났기 때문에 누군가 거기에서 용어를 설명 할 수 있는지 궁금했다. 나는 그들에 대한 몇 가지 기본 이론을 알고 있지만 내가 아는 것이 옳고 그름을 확신하지 못합니다.
이 용어를 설명해 주시겠습니까?
정규화 된 이름은 클래스 사양, 네임 스페이스 사양 등과 같이 자신이 속한 위치에 대한 일종의 표시가있는 이름입니다. 정규화되지 않은 이름은 정규화되지 않은 이름입니다.
여기에서 James McNellis의 답변을 읽으십시오.
주어진:
struct A {
struct B {
void F();
};
};
A입니다 비정규 - ID가 .::AA는 자격을 갖춘-ID 하지만이 없습니다 중첩 된 이름 지정을 .A::BA는 자격을 갖춘-ID 와A::A는 중첩 된 이름 지정 .::A::BA는 자격을 갖춘-ID 와A::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;
}
의 사용이 통지 cout와 endl함께 시작했다 std::. 이것은 그들을 정식 이름으로 만듭니다.
우리가 사용하는 선언이나 지침 * (예에 의해 범위에 COUT와 ENDL을 가져온 경우 using namespace std;), 그냥 사용 cout하고 endl그 자체로 그냥 그들은이었을 것입니다 자격이없는 이름 들이 부족 때문에, std::.
참조 URL : https://stackoverflow.com/questions/7257563/what-are-qualified-id-name-and-unqualified-id-name
반응형
'IT Share you' 카테고리의 다른 글
| 축 레이블 사용자 지정 (0) | 2021.01.08 |
|---|---|
| 장치 'emulator-5554'에 * .apk를 설치하지 못했습니다. EOF (0) | 2021.01.08 |
| 클래스 API에서 getDeclaredConstructors와 getConstructors의 차이점은 무엇입니까? (0) | 2021.01.08 |
| Android 스튜디오 : 실패 [INSTALL_FAILED_OLDER_SDK] (0) | 2021.01.08 |
| Java 및 기본 신뢰 저장소 사용 (0) | 2021.01.08 |