explicit 키워드는 자신이 원하지 않은 형변환이 일어나지 않도록 제한하는 키워드이다.
extern 키워드는 전역 변수, 함수 또는 템플릿 선언에 적용할 수 있다.
extern 키워드는 컨텍스트(문맥)에 따라 네 가지 의미가 있다.
1. 전역 const 변수가 아닌 선언에서 변수 또는 함수가 다른 변환 단위에 정의되도록 지정한다.
변수가 정의된 파일을 제외한 모든 파일에 extern적용해야 한다.
2. const 변수 선언시, 변수에 extern 링크가 있음을 명시해야한다.
모든 선언된 파일에서 extern 은 반드시 선언되어야한다(Global const 변수는 기본적으로 내부 연결을 가진다.)
3. c언어에서의 extern은 한정자 또는 블록의 여러 함수 선언에 적용될 수 있다.
4. 템플릿 선언 내에서는, extern은 템플릿이 이미 인스턴스화 되었다는 것을 명시한다.
extern 은 컴파일러가 재사용할 수 있는 것을 말한다.
또 다른 지금 사용 공간에서 새 인스턴스화를 만드는 대신 extern으로 재사용 하는 것이 더욱 유용하다는 것이다.
https://learn.microsoft.com/en-us/cpp/cpp/extern-cpp?view=msvc-170 extern 참고
복사 생성자와 복사 대입 연산자
복사 생성자는 어떤 객체의 초기화를 위해 그와 같은 타입의 객체로부터 초기화할 때 호출되는 함수.
복사 대입 연산자는
같은 타입의 다른 객체에 어떤 객체의 값을 복사하는 용도로 쓰이는 함수.
복사 생성자 복사 대입 연산자 참조
'프로그래밍 언어 > C & C++ 정리' 카테고리의 다른 글
포인터 & 함수 포인터 & 깊은 복사 & 얕은 복사 & 생성자 & 오버로딩 & explicit & 형변환 연산자 & R-value , L-value (0) | 2023.06.12 |
---|---|
템플릿의 특수화 (0) | 2023.05.18 |
C++ STL Pair & Map (0) | 2023.04.10 |
C++ STL) deque란? (0) | 2023.04.10 |
OBB 충돌 (0) | 2023.04.06 |