copy-constructor

    3

    3답변

    개체의 전체 복사본을 원할 때 딥 복사 포인터가 필요하다는 것을 알고 있습니다. 혼란에는 다음이 포함됩니다 (완전히 작성된 예제). #include "stdafx.h" #include <string> class a { public: a::a(std::string _sz) : m_sz(_sz) ,m_piRandom(n

    5

    3답변

    나는 아래의 18 행에있는 코드가 "복사해야 할 멤버 중 하나가 참조 일 때 암시 적으로 정의 된 대입 연산자를 사용하는 것이 좋지 않기 때문에"형식이 잘못되었다고 말했습니다. 나는 그것을 이해할 수 없었다. 참조를 복사 할 수없는 이유는 무엇입니까? 16 번 라인이 합법적 인 이유는 무엇입니까? 16 번 줄은 18 번 줄과 매우 유사합니다. 복사 생성자가

    3

    1답변

    몇 가지 클래스 (C++)에 대한 단위 테스트를 작성 중이며 복사 생성자 및 대입 연산자에 대한 단원 테스트를 작성하는 데 문제가 있습니다. 기본 문제는 프로그래머가 클래스에 멤버를 추가 한 다음 c'ctor 및/또는 operator =를 업데이트하는 것을 잊어 버리는 것입니다. 나는 물론의 라인을 따라 단위 테스트를 작성할 수 class MyClass()

    7

    1답변

    제 질문은 복사 생성자가없는 개체를 반환하는 방법에 대한 것입니다. 예를 들어, 힙에 앉아있는 bigResource이 있다고 가정 해 봅시다. unique_ptr을 사용하여 추적합니다. 이제 나는이 자원의 소유권을 애벌레에게 전합니다. 그런 다음 CaterpillarWithBigResource이 있습니다. 이제 어느 시점에서이 CaterpillarWithB

    0

    3답변

    C에서 복사 생성자의 일반적인 구문을 알고 + + 참조 걸립니다. 그러나 참조 대신 포인터 유형을 사용하면 어떻게 될까요? 복사 생성자에서 포인터 메카니즘으로 패스를 사용하지 않는 이유는 무엇입니까? 주요 단점은 무엇입니까?

    2

    1답변

    복사 생성자가 호출되지 않고 이유가 확실하지 않습니다. 여기 내 코드 : template <typename T> class SmartPtr { public: explicit SmartPtr(T *p) : m_p(p) { cout << "ctor" << endl; } SmartPtr(const SmartPtr& p) : m_

    2

    5답변

    빠른 진행 C++ 수정 과정을 진행 중입니다. 몇 가지 기본 개념을 닦으려고. 아래 프로그램을 실행하면 두 가지 문제가 발생합니다. 1. 복사 CC가 어떤 이유로 호출되지 않습니다. 2. testCC() 함수가 종료 된 후 프로그램이 작동하지 않습니다. 도움을 주시면 감사하겠습니다. class A { public: A() {

    2

    1답변

    학교 과제에 문제가 있습니다. 스포츠 경기에서 경쟁자를 추적하는 시스템을 만들어야합니다. 나는 기본 클래스 경쟁자와 그로부터 파생 된 두 클래스, 즉 Professional과 Exerciser을 가지고있다. 그리고 나서 Contender **contenders을 포함하는 레지스터 클래스가 있습니다. 그리고이 클래스에 대한 복사 생성자를 만들어야하지만 어떻게

    0

    1답변

    val-grind에 의해이 코드가 발견 된 메모리 누수 문제를 해결하려고합니다. 필자는이 코드를 작성하지 않았지만 원래 코드를 ofstream을 사용하여 filebuf 및 ostream을 사용하지 않도록 축소했습니다. 문제는 다른 코드의 가상 getter 메서드에서 공유되고 호출되는 ofstream 포인터를 올바르게 삭제하는 방법을 알아낼 수 없다는 것입니

    0

    3답변

    class Wood { public: Wood(); Wood(const Wood&); //copy constructor ~Wood(); private: string price; }; Wood::Wood(const Wood& orig) { price(orig.price); **//error, why?**