Language/C++
const 함수 및 const 객체 특징, static 멤버의 특징
Triany
2015. 3. 9. 21:15
const 함수
1.상수화된 함수는 상수화 되지 않은 함수의 호출을 허용x
2.멤버 변수의 포인터 리턴 허용 x
const 객체
1. 어떤 경로를 통해서든 멤버 변수 조작 불가능
2. 상수화된 멤버 함수만 호출 가능
static 멤버(=클래스변수)의 특징
1. main함수가 호출되기도 전에 메모리 공간에 올라가서 초기화 된다.
따라서 public으로 선언이 된다면, 객체 생성 이전에도 접근이 가능하다.
2. 객체의 멤버로 존재하는 것이 아니다. 다만, 선언되어 있는 클래스내에서 직접 접근할 수 있는 권한이 부여된 것이다.
-> 데이터 영역에 위치
c++에서는 static 멤버 초기화 문법이 존재한다.
class AAA
{
public:
static int n;
};
int AAA::n=1;
int main(void)
{
std::cout<<AAA::n << std::endl;
AAA::n++;
return 0;
}
출처: 열혈강의 c++프로그래밍_윤성우 저