나는 (그래, 나도 알아 - 그들은 일반적으로 나쁜 것) 싱글 톤 패턴을 사용하고 있다면 ... 내가 이렇게 같은 인스턴스 기능을 가지고 :함수 내에서 정적 인 저장소 클래스는 무엇이며 그 이유는 무엇입니까?
이instance
어떤 스토리지 클래스
MySingleton* Instance() {
static MySingleton instance;
return &instance;
}
를?
나는 "데이비드 R. Butenhof에 의해 POSIX 스레드 프로그래밍"읽고 있어요, 그리고 내가 말한 텍스트 건너 온 :
당신은 아마 통근 또는 정적을 사용하여 상태 변수를 선언 할 수 있습니다 대부분의 시간 파일 범위의 저장소 클래스, 즉 함수 외부의 저장소 클래스 변수가 선언 된 파일 내에서만 사용되는 경우 다른 파일이나 정적 저장소 클래스에서 사용하는 경우 일반 (외부) 저장소 클래스가 있어야합니다.
정적은 함수 안에 있으므로 자동입니까? 또는 정적 키워드 때문에 다른 클래스입니까?
'인스턴스'변수를 파일에서 정적 및 전역 변수로 이동하면 다른 파일에 대한 참조를 여전히 제공 할 수 있습니까, 아니면 작동하지 않겠습니까?
답변 해 주셔서 감사합니다. 무슨 일로 나를 혼란스럽게 만들었습니까?이 자료를 배우기에 좋은 자료를 알고 있습니까? 내 C++ 서적에서 (중요한 방식으로) 건너 뛴다는 것은 아닙니다. 배울만큼 충분하지 않은 이상한 참조입니다. –
@ w00te : 표준. "저장 기간", "연결"및 "저장 클래스 지정자"에 대한 전체 절을 읽으십시오. 그런 다음 링키지 자체는 매우 간단하기는하지만 서로 다른 저장소 클래스 지정자를 사용하는 여러 선언에 대한 규칙이 혼란 스럽기 때문에 링키지 섹션을 다시 읽으십시오. 마지막으로 DLL과의 임포트/익스포트가 컴파일러에 의해 어떻게 다루어 지는지에 대한 구체적인 구현을 읽는 것이 가치가있을 것입니다. 왜냐하면 그것은 링키지와 같지 않지만 매우 밀접하게 연관되어 있기 때문입니다. –
고마워, 나는 그것을 나의 독서 목록에 추가 할 것이다 - 그것이 태아의 위치에 나를 넣을지도 모르지만 그것은 소리가 난다. :) –