정적 객체 구조 정보

905 단어 대상
//다음 프로그램의 실행 결과 분석
#include<iostream.h>
#include<conio.h>
class Sample
{
        int x;
        public:
        Sample(int a)
        {
                x=a;
                cout<<"constructing object:x="<<x<<endl;
        }
}; 

void func(int n) 
{
        static Sample obj(n);
}

int main()
{
        func(1);
        func(10);
        getchar();
        return 0;
}
//--------------------------------------------------------------------------

분석: 본 문제는 정적 대상 구조 함수의 호출 상황을 설명하는데func() 함수에 정의된 대상obj는 정적 대상이기 때문에 한 번만 구성되기 때문에 출력은 다음과 같다.
counstructing object:x=1
 
주의: 정적 대상은 정적 변수와 마찬가지로 한 번만 구성됩니다.블록 작용역의 정적 변수는 이 정적 대상을 정의하는 함수에 처음 들어갈 때 이 정적 대상을 구성하고 나중에 이 함수에 들어갈 때 정적 대상을 구성하지 않는다.

좋은 웹페이지 즐겨찾기