책의 예제를 따라하는 도중 C++의 문법이 기억나지 않아 막히는 경우가 많아 C++을 정리해가면서 봐야겠다.
범위지정 연산자(Scope Operator) ::
범위지정 연산자를 사용하는 곳은
1. classname::
2. namespaceName::
3. :: 이렇게 세가지가 있다.
2번 namespace = 영역구분을 말한다.
예를 들어 여러 사람이 코딩을 해서 변수나 클래스 이름이 같을 경우 namespace라는 키워드를 주어 영역을 구분한다.
3번 ::은 현재 존재하는 모든 전역함수, 전역변수들을 지역변수와 구분지어 사용한다.
c++에서 -> 기호의 의미 : 포인터 변수의 값을 참조하기 위한 연산자
라는 구조체를 struct A *B와 같이 포인터로 선언하면 B가 포인터이기 때문에 B->a라고 해줘야 값을 가지고 올 수 있다.
B->a
B->b
const
c++에는 const라는 키워드가 있다.
const를 사용하면 c++을 최적화 시키는데 도움이 된다.
1. 상수객체들을 const로 선언하기
- 컴파일러는 const를 일반적인 메모리가 아닌 머신 레지스터에 저장한다. (수행속도 향상)
2. 가상 함수들의 실행시간 오버헤드
- 가상 함수가 객체의 포인터나 참조를 통해 호출될 때 호출은 반드시 추가적인 실행시간 패널티를 부과하지 않는다.
3가지 패턴으로 설명을 하겠다.
댓글