#include <iostream>
#include <memory>
using namespace std;
class Line
{
public:
Line(double len, int a); // 这是构造函数声明
~Line(); // 这是析构函数声明
private:
double length;
double* nums;
};
Line::Line(double len, int a)
{
length = len;
nums = new double[a];
cout << "Object is being created" << endl;
}
Line::~Line(void)
{
delete [] nums;
cout << "Object is being deleted" << endl;
}
int main() {
Line* line = new Line(1.0, 2);
delete line;
{
shared_ptr<Line> aaa = make_shared<Line>(1.0, 2);
}
return 0;
}
我对这个程序的理解如下:
delete line;将做出以下动作:
shared_ptr<Line> aaa
局部变量做的事情和delete line;
一样。
各位大佬看下我的理解对吗
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.