C存储类和c++析构函数之间的关系是什么?



我是C/c++编程新手。

  • C中的存储类表示可见性和生命周期

  • C++中,构造函数和析构函数用于初始化&释放占用的资源

是的,构造函数有助于减少大量的重复代码,但析构函数用于释放和/或释放资源(一旦对象超出作用域)。

这些概念在实现中是否以某种方式耦合?

C存储类参见:https://stackoverflow.com/a/2661411/8740349

让我们不讨论实现,因为每个编译器的工作方式不同,但是如果你问c++规范,大多数关键字的含义是相同的。

除了:

  • register关键字自C++17起被删除(在C++11中被弃用后),没有任何替代。
  • auto表示自动检测类型,如:
auto myVariable = myFunction("blablabla (how old are you, in Chinese)");

析构函数与存储类相关吗?

不,c++类和/或Struct在其存储被释放之前被析构。

正如在注释中提到的:处理存储的释放不是析构函数的主题,而是相应的"释放器"的主题。(由编译器提供,例如全局变量和局部变量,或者delete用于new分配的内存)。

相关内容

  • 没有找到相关文章

最新更新