강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

baljang님의 프로필 이미지
baljang

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12

Camera

static 변수 사용에 대해서 헷갈립니다.

작성

·

293

0

Cmera.h에서 

public:

// TEMP

static Matrix S_MatView;

static Matrix S_MatProjection;

이렇게 선언해 줬는데 

static이라는게 전역 처럼 사라지지 않지만 범위 안에서만 사용 가능한 변수인 거잖아요? 

이런 경우 사용 범위가 어떻게 되는 건가요?

그냥 전역처럼 프로그램 전체에서 사용 할 수 있는건가요? 그럼 전역변수랑 마찬가지로 사용되고 있는건가요? 

그리고 Camera.cpp에서 

Matrix Camera::S_MatView;

Matrix Camera::S_MatProjection;

정의부에 한번 더 써줘야 하는 이유가 좀 이해가 안갑니다. 그냥 .h에서 한번 선언하면 되는 거 아니었나요? 

퀴즈

객체 변환 계층 구조에서 자식 객체의 위치, 회전, 스케일은 무엇을 기준으로 정의될까요?

세계 좌표계

부모 객체의 지역 좌표계

카메라 좌표계

화면 좌표계

답변 1

2

Rookiss님의 프로필 이미지
Rookiss
지식공유자

안녕하세요,

사용 범위는 전역이 맞고,
cpp에서 또 써주는 '이유'라기보다는
그냥 class 안의 static 변수 사용법이 그렇습니다.

아래 내용 참고 바랍니다.

https://www.geeksforgeeks.org/static-keyword-cpp/

baljang님의 프로필 이미지
baljang
질문자

클래스 외부의 클래스 이름 및 범위 확인 연산자를 사용하여 사용자가 명시적으로 초기화 하는게 사용법이었군요! 감사합니다!^^

baljang님의 프로필 이미지
baljang

작성한 질문수

질문하기