프로그래밍 언어/C & C++ 정리

복사 생성자 & 복사 대입 연산자 & explicit & extern

게임 개발 2023. 4. 27. 17:07

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 참고 

 

복사 생성자와 복사 대입 연산자

 

복사 생성자는 어떤 객체의 초기화를 위해 그와 같은 타입의 객체로부터 초기화할 때 호출되는 함수.

 

복사 대입 연산자

같은 타입의 다른 객체에 어떤 객체의 값을 복사하는 용도로 쓰이는 함수.

 

 

 

 

https://learn.microsoft.com/ko-kr/cpp/cpp/copy-constructors-and-copy-assignment-operators-cpp?view=msvc-170 

 

복사 생성자 및 복사 할당 연산자(C++)

자세한 정보: 생성자 복사 및 복사 할당 연산자(C++)

learn.microsoft.com

복사 생성자 복사 대입 연산자 참조