c – 我应该删除.h文件中的char数组

c – 我应该删除.h文件中的char数组,第1张

概述如何在Test.h中管理char数组缓冲区? Test.h class Test{public: Test(); ~Test(); char buffer[255];}; Test.cc #include "Test.h"Test::Test(){}Test::~Test(){ // Do I need to delete/free buffer @H_403_2@ 如何在Test.h中管理char数组缓冲区?

Test.h

class Test{public:    test();    ~test();    char buffer[255];};

Test.cc

#include "Test.h"Test::test(){}Test::~test(){    // Do I need to delete/free buffer?}

我知道当使用new或malloc时,必须使用delete或free()释放内存.

是否为每个Test实例在堆栈上分配了char数组缓冲区,因此不需要删除

解决方法 不,您不需要删除它.因此,您不需要析构函数(除非您有其他需要释放的资源)

规则很简单:使用malloc / new / new []获得的每个内存/对象应该被释放/销毁一次,并且只有相应的free / delete / delete [].没什么.而已.

此外,在现代C中,您很少需要像这样管理内存资源.你可以使用std :: vector或其他容器,或者如果你真的需要指针,你应该使用智能指针,std :: unique_ptr和std :: shared_ptr.

@H_403_2@ 总结

以上是内存溢出为你收集整理的c – 我应该删除.h文件中的char数组全部内容,希望文章能够帮你解决c – 我应该删除.h文件中的char数组所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1217092.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存