统计词频写创建一个bst对象

来源:5-8 二分搜索树节点的删除(Hubbard Deletion)

unknown花名

2019-07-20

BST<string, int> bst = BST<string, int>();
BST<string, int> *bst = new BST<string, int>();

第二种写法和第一种写法相比,有啥不同呢?

写回答

1回答

liuyubobobo

2019-07-21

在C++语言中,创建对象和创建指针对象不一样。(我不确定严谨术语中文是不是这么说。)


核心区别是,第一个bst是一个对象;第二个bst是一个指针。所有其他区别本质都是因为这个区别。就好比int和int*的区别。


第一种写法创建了一个BST类的对象,是在栈上开的空间,不需要手动回收空间,当前作用与结束自动调用BST的析构函数;

第二中写法创建了一个BST的指针,指向一个BST对象,是在堆上开的空间,需要手动回收空间。


继续加油!:)

0
3
unknown花名
回复
liuyubobobo
好的,谢谢老师!
2019-07-21
共3条回复

算法与数据结构(C++版) 面试/评级的算法复习技能包

课程专为:短时间内应对面试、升职测评等艰巨任务打造

11198 学习 · 1617 问题

查看课程