常见问题
由于 C++ 本人使用较少,目前仅在做 leetcode 的时候会使用,所以掌握不太熟练,将碰到的一些问题记录下来方便温习。
类实例化的两种方式
以常见链表的节点类 Node
为例,可以通过下面两种方式进行初始化:
cpp
// 方法一
Node node_one(1);
// 方法二
Node *node_pointer = new Node(1);
这两种方法会影响到新的实例在内存中的状态,主要有如下区别:
- 方法一创建的实例在栈(Stack)上,方法二通过
new
创建的实例在堆(Heap)中; - 方法一创建的实例由系统负责内存的自动回收,方法二通过
new
创建的实例需要通过delete node_pointer
手动释放内存。