2012-11-28 2 views
0

저는 클래스를 사용했습니다. 정적 객체 코드 또는 컨텍스트가없는 횟수로 필자가하지 않은 것에 대한 저자의 용어인지 명확하게 설명합니다 클래스 (범위) 정적 멤버 (변수 또는 함수)에 대해 알고 있거나 다른 용어입니다.클래스 정적 객체 (클래스 정적 멤버)의 용어를 명확히하십시오

class m1 { 
public: 
    static int x; 
}; 

// with x being the "class static "object" 
// which I just call a "class static member". 
int m1::x; 

또는이 용어는 실제로 사용자 정의 개체 인 멤버 변수에만 적용됩니까?

class m2 { 
public: 
    int y; 
}; 

class m3 { 
public: 
    static m2 z; 
}; 

// with z really being an object - the "class static object"? 
m2 m3::z; 
+2

다음 번에 발표자에게 문의하십시오. 나는 그것이 일반적인 용어라고 생각하지 않지만 정적 멤버 함수와는 반대로 정적 데이터 멤버 (원시 또는 사용자 정의 타입)를 참조하는 것으로 해석합니다. – Mat

+0

이 용어의 가장 일반적인 사용법은 외부 클래스 생성을 막기 위해 보호되거나 전용 생성자가있는 동일한 클래스 유형의 정적 클래스 멤버에 효과적으로 적용됩니다. 나는 보통 싱글 톤 (singleton-class)으로 만 본다 (나는 전혀 팬이 아니다). 강사는 예를 들어 명확하게 설명해야합니다. – WhozCraig

+0

매트/크레이그 - 물어볼 "연설자"또는 "강사"가 없습니다. 나는 물어보고, 코멘트를 주거나 다른 방식으로 상호 작용할 수있는 기회가없는 다양한 기사 (슬라이드 프리젠 테이션 포함)를 언급하기 위해 내 글에서 "저자"를 언급했다. – Arbalest

답변

1

두 경우 모두 "클래스 정적 객체"를 참조하는 것으로 간주합니다. 객체는 단순히 함수가 아닌 메모리를 차지하는 엔티티이므로 사용자 정의 유형 (UDT)인지 여부는 중요하지 않습니다.

"클래스 정적 멤버"의 차이점은 함수도 "멤버"일 수 있으므로 차이점은 "클래스 정적 개체"에는 함수가 포함되지 않는다는 것입니다.

개인적으로, 나는 "정적 멤버 변수"와 "정적 멤버 함수"를 사용합니다.