본문 바로가기
카테고리 없음

C++ 범위 지정 연산자, ->기호, const 키워드

by 코리늬 2018. 3. 13.

책의 예제를 따라하는 도중 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가지 패턴으로 설명을 하겠다.



댓글