1
이중 콜론 "::"앞에 네임 스페이스가 붙지 않은 경우이 구문의 의미는 무엇입니까?네임 스페이스 구문 ":: Foo"
Foo 클래스가 있다고 가정합니다. 그리고 코드 어딘가에 : Foo와 같은 것이 있습니다.
이중 콜론 "::"앞에 네임 스페이스가 붙지 않은 경우이 구문의 의미는 무엇입니까?네임 스페이스 구문 ":: Foo"
Foo 클래스가 있다고 가정합니다. 그리고 코드 어딘가에 : Foo와 같은 것이 있습니다.
전역 네임 스페이스를 나타냅니다.
네임 스페이스 N이 전역 네임 스페이스로 묶여 있기 때문에이 문장std::cout << ::x + N::x + x << std::endl;
당신이 ::N::x
대신 N::x
을 쓸 수 있음을 고려 예를
#include <iostream>
int x = 10;
namespace N
{
int x = 20; // Or you could write int x = 10 + ::x;
}
int main()
{
int x = 30;
std::cout << ::x + N::x + x << std::endl;
}
이 코드를 살펴 보자.
내가 네임 스페이스 std를 사용하여 선언하면; 맨 위에, 작성할 수 있습니다 :: cout << ....... << :: endl; 대신에? –
@cpp_noname 가능합니다. 정규화 된 이름 조회에 대해 읽어야합니다. –