使用堆指针复制构造函数

Cro*_*man 1 c++ pointers

我正在尝试在创建时使指针调用复制构造函数,但似乎继续引用该对象.我当时做的完全错了.

Queue<int> * a = new Queue<int>();
Queue<int> * b = a;
Run Code Online (Sandbox Code Playgroud)

这继续引用而不是使用在堆栈分配的对象上正常工作的复制构造函数.

小智 7

你不能通过像这样的指针调用复制构造函数.

要调用复制构造函数,您需要更明确:

Queue< int >* b = new Queue< int >( *a );
Run Code Online (Sandbox Code Playgroud)