Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 봄 사랑 벚꽃 말고
- 악보
- SQL 처리
- oracle
- 말 더듬
- 슬픔의 후에
- 데이터베이스
- DBMS 구성요소
- 오라클 아키텍처
- 장범준
- 기타
- 레이디스코드
- DBMS
- 개발자
- Inside Of Me
- 천공의 시간
- 신입
- nginx
- 러블리즈
- index
- 인덱스
- 6학년 8반 1분단
- db
- 오라클
- 아이유
- 니가 참 좋아
- IT
- 핑거스타일
- I'm fine thank you
- 스위트라떼
Archives
취미로 음악을 하는 개발자
[C++] Namespace 본문
728x90
1. 선언
: namespace는 전역변수처럼 main 문 밖에서 선언할 수 있다. 또는 기존에 내장되어 있는 namespace를 사용할 수도 있다.
선언하는 방식은 함수를 만드는 것과 비슷하지만 이름뒤에 ( )와 파라미터가 필요없다는 점이다.
또 함수처럼 선언만 해주고 main 함수 다음에 코드를 쓸 수 있다.
}
}
n = 10;
}
n = 20;
}
}
:: n = 30;
}
}
2. 초기화, 위에서 main 함수 이후에 선언해준 doodle, google 네임스페이스 참고
: namespace에서 변수를 초기화시킬 때, 해당 변수는 어떤 변수를 가리키는가?
doodle에서 정의된 기준으로는 먼저 set( ) 밖에서 n을 찾게 되는데 위에서는 n이 있기 때문에 doodle 안에 있는 n을 가리킨다.
하지만 google에서는 ::n을 초기화시켰는데 이것은 전역변수의 n을 가리킨다.
}
또 namespace 안에 있는 함수만 따로 정의할 수도 있다.
3.
: 함수와 마찬가지로 namespace도 안에 또 다른 namespace를 넣을 수 있다.
}
int n;
}
4.
: 보통 std를 쓸 때에는 전역변수처럼 main( ) 함수 밖에서 선언한다.
하지만 지역변수처럼 특정 함수에만 사용할 수도 있는데
// 전역, namespace에 공통인 이름의 함수를 사용할 때
:: set( );
google::set(); // doodle은 using 이므로 doodle 안의 google로 사용
}이와 같이 main( ) 안에서 선언하면 main 안에서만 namespace를 생략하고 사용할 수 있게 된다.
여기서 핵심은 doodle 안에 google이 있는데 google을 사용할 때에는 doodle이 using이므로 앞을 생략하고 쓸 수 있다는 점이다.
'공대인 > C[++]' 카테고리의 다른 글
[C++] 객체 생성과 소멸 (0) | 2019.05.05 |
---|---|
[C++] 클래스 (0) | 2019.04.23 |
[C++] 스타일 함수 심화 (0) | 2019.04.11 |
[C++] 스타일 함수, 문법 (0) | 2019.04.07 |
개념 및 링크, 나중에 정리해서 글 써보기 (0) | 2019.04.07 |
Comments