복사 생성자 란 무엇입니까?
복사 생성자는 C ++의 특수 함수이며 C ++의 영향을받는 다른 언어는 코딩 객체를 복사합니다. 프로그래머는 복사 생성자 선언을 추가하고 객체를 참조하여이를 수행합니다. 기본적으로 이는 시간을 절약하여 프로그래머에게 도움이되지만 프로그래머가 객체의 코딩에 잘못 입력하지 않도록합니다. 복사 할 때 다른 메모리 포인터가 있어야합니다. 그렇지 않으면 원래 객체가 가리키는 동일한 섹션을 가리 킵니다. 복사 생성자를 사용하는 주요 단점 중 하나는 독립적으로 작동 할 수 없다는 것입니다. 원본 객체가 지워지면 사본도 함께 복사됩니다.
프로그래머가 복사 생성자를 사용하면 코드에 이미 나열된 객체를 복사하도록 코드에 지시합니다. 이를 위해 프로그래머는 먼저 선언을 사용하여 복사 기능을 수행하도록 코딩에 지시해야합니다. 또한 프로그래머는 다른 객체를 참조해야하므로 객체가 이미 구축되어 있거나 복사를 수행 할 방법이 없습니다.
복사 생성자를 사용하면 얻을 수있는 주요 이점은 시간이 절약된다는 것입니다. 프로그래머는 동일한 기능을 다시 입력하고 다시 코딩하는 대신 참조를 추가하기 만하면 객체가 준비됩니다. 이는 일관되고 정확한 코딩에서 또 다른 숨겨진 이점을 제공합니다. 원본 객체가 올바르게 코딩되어 있으면 복사 된 객체에도 올바른 코딩이 적용됩니다. 이 두 가지 이점은 복잡한 개체에서 가장 분명하지만 프로그래머도 간단한 개체를 복사하면 이점을 얻을 수 있습니다.
C ++ 언어에서 많은 함수에는 메모리 포인터가 필요합니다. 이것은 특정 정보를 위해 메모리에서 찾을 위치 또는 데이터를 저장할 수있는 위치를 함수에 정확하게 알려줍니다. 프로그래머는 복사 생성자가 사용될 때 새 메모리 포인터를 지정해야합니다. 그렇지 않으면 두 객체가 동일한 메모리 공간을 사용합니다. 표면적으로는 나쁘지 않을 수 있지만 불일치가 발생할 수 있습니다. 예를 들어, 두 오브젝트가 모두 동일한 포인터를 공유하고 하나의 오브젝트가 대출 응용 프로그램을 제출하는 데 사용되는 동안 복사 된 오브젝트가 신용 카드 응용 프로그램을 제출하도록 작성되면 모든 신용 카드 응용 프로그램이 대출 응용 프로그램과 함께 저장됩니다.
복사 생성자 객체는 독립적으로 작동 할 수 없으므로 프로그래머는 객체를 지우는 것에주의해야합니다. 프로그래머가 원본 객체를 지우면 복사 된 객체는 참조 할 것이 없습니다. 참조 할 코드가 없으면 복사 된 객체는 작업을 수행 할 수 없으며 쓸모 없게됩니다.