인터페이스 구현시 정의 할 때 정적 변수를 이해하지 못합니다. 메소드에서는 로컬 변수와 어떻게 다른지 이해하지만 구현시 직접 정의 할 때는 이해하지 못합니다. 이 예제를 살펴보십시오. 이 둘은 실제로 어떤 차이가 있습니까? #include "MyClass.h"
@implementation MyClass
int myInt;
...
@end
그리고
.OBJ는 컴파일 단위를 컴파일 한 결과이며 .LIB는 여러 .OBJ에서 만들 수있는 정적 라이브러리이지만이 차이는 컴파일 단위의 수에만있는 것으로 보입니다 . 다른 차이점이 있습니까? 동일하거나 다른 파일 형식입니까? 2 개 (또는 그 이상) .LIB에 정의 된 동일한 정적 변수가 최종 실행 파일에 링크되는 동안 병합되는지 궁금 할 때 나는이 질문에 답했
제가 만든 정적 라이브러리를 사용하는 응용 프로그램이 있습니다. 라이브러리의 한 .cpp 파일에는 정적 변수 선언이 있습니다. ctor는 단일 기능에서 함수를 호출합니다. 문자열을 추가합니다. 이제 응용 프로그램에서 해당 라이브러리를 사용할 때 내 싱글 톤에 추가 된 문자열의 흔적이없는 것 같습니다. 는 확실히 뭔가를보고 싶어하지만 난 모르는 것을 ..이의
EDIT : 개인적으로 선언 한 것이 오타였습니다. 수정했습니다 : 다른 질문과 관련하여, 클래스에서 정적 변수를 선언하고 그 클래스에서 파생 된 경우 선언 할 수있는 방법이 있습니까? 정적 변수는 각 클래스마다 개별 변수로 사용됩니다. 즉 : class A:
{
public:
static int x;
};
class B:A
{
public: