2013. 11. 1. 11:07
c++
scope operator '::' 범위지정.
예를들어 코드에서 전역변수 a=100;이라고 지정하나, 중괄호안에 똑같은 이름의 변수의 50을 넣으면
50이 출력된다.
그때 100을 출력하고 싶으면 ::을 a앞에 붙여서 사용한다.
#include <stdio.h>
int a=100;전역변수
int main()
{
int a=50;중괄호내부에서의 선언.
printf("%d\n", a); -50이 출력
printf("%d\n", ::a); - 100이 출력.
return 0;
}
#include <iostream>
|
위 소스는 namespace에 관한 또 다른 예제.
main()함수 위에 namespace SAM_1, SMA_2라고 각각 만든 다음 아래 MAIN()함수로 코드를 작성하면
각가 a=100, b = 200이 출력이 된다.
그러나, namesapce SAM_2에 변수 b를 a로 바꾼다면 어떻게 될까?
그러면 에러 혹은 warning을 컴파일러가 띄우게 된다.
namespace는 변수를 중복해서 사용할 수 없다. 지정된 멤버가 sam_1의 것인지, sam_2의 멤버인지 모호하기 때문이다.
'c++' 카테고리의 다른 글
11월 4일 함수와 레퍼런스(정리 중) (0) | 2013.11.04 |
---|---|
11월 4일 동적할당 (0) | 2013.11.04 |
11월 1일 레퍼런스 변수 (0) | 2013.11.03 |
11월 1일 문자열, 문자배열 c++에서 주의점 (0) | 2013.11.03 |
10월 31일 C++ cout, cin (0) | 2013.10.31 |