相关疑难解决方法(0)

通过指向const的指针释放内存是一个好习惯

有许多问题讨论了处理指针到const删除的C和C++的细节,即free()不接受它们的那些deletedelete[]那样做,并且该const不会阻止对象破坏.

我感兴趣的是你是否认为这是一个好习惯,而不是语言(C和C++)允许的.

指针到const删除的参数包括:

  • kfree()与C's不同free(),Linus Torvalds 采取了一种void const*观点,因为他认为释放记忆不会影响指向的内容.
  • free() 是在引入const关键字之前设计的.
  • C++的删除操作符允许删除const数据.

反对它的论据包括:

  • 程序员在向指针传递指针时不希望修改(或删除)数据.
  • 许多人认为指针指向const意味着没有获得数据的所有权(但不是非const意味着获得所有权).
  • 这是大多数库和现有代码中常见的做法.

请在您的回复中充分说明,并可能参考当局.我的意图不是在这里开始民意调查.

c c++ memory-management const-correctness

10
推荐指数
1
解决办法
933
查看次数

标签 统计

c ×1

c++ ×1

const-correctness ×1

memory-management ×1