Skip to content

常见问题

由于 C++ 本人使用较少,目前仅在做 leetcode 的时候会使用,所以掌握不太熟练,将碰到的一些问题记录下来方便温习。

类实例化的两种方式

以常见链表的节点类 Node 为例,可以通过下面两种方式进行初始化:

cpp
// 方法一
Node node_one(1);

// 方法二
Node *node_pointer = new Node(1);

这两种方法会影响到新的实例在内存中的状态,主要有如下区别:

  1. 方法一创建的实例在栈(Stack)上,方法二通过 new 创建的实例在堆(Heap)中;
  2. 方法一创建的实例由系统负责内存的自动回收,方法二通过 new 创建的实例需要通过 delete node_pointer 手动释放内存。

保持独立思考