c++ - 如何正确删除C++中的指针?

我是 C++ 的新手,我有一个问题。

假设您使用以下代码声明了变量 x:

MyClass *x = new MyClass();

使用此变量后,我不再需要它。

在以下命题中,首选的行动方案是什么?有什么区别?

  1. 调用free(x);

  2. 调用x->~MyClass();

  3. 调用MyClass::~MyClass(p);

  4. 调用delete x;

谁能帮我理解一下?

提前致谢。

相关文章:

firebase - 在 Firebase 云存储中加载预览时出错

javascript - 显示到小数点后两位 - React.Js

javascript - YouTube 视频 API 片段标题包含 Next.js 中的特殊字符

python - 按升序对月份名称字符串列表进行排序

python - 在python中将类返回给自身

swiftui - 使用 SwiftUI 实现 PencilKit 撤消功能

c# - 获取错误 System.IO.IOException : 'The process can

javascript - 使用 JavaScript 检测按键持续时间

visual-studio-code - 有一种方法可以在 vscode 中的 ` `(重音符)内语

java - JUnit 测试方法无法返回值