Tro*_*nic 10 c c++ memory-management const-correctness
有许多问题讨论了处理指针到const删除的C和C++的细节,即free()不接受它们的那些delete和delete[]那样做,并且该const不会阻止对象破坏.
我感兴趣的是你是否认为这是一个好习惯,而不是语言(C和C++)允许的.
指针到const删除的参数包括:
kfree()与C's不同free(),Linus Torvalds 采取了一种void const*观点,因为他认为释放记忆不会影响指向的内容.free() 是在引入const关键字之前设计的.反对它的论据包括:
请在您的回复中充分说明,并可能参考当局.我的意图不是在这里开始民意调查.
好吧,这里有一些相关的内容可能太长,无法放入评论中:
不久前,通过指向常量的指针释放内存的做法是被明确禁止的,请参阅这位博士。Dobb 的文章,《语言法》(:)) 部分。
http://groups.google.ru/group/comp.lang.c++.moderated上已经有两次相关讨论:“删除 const 指针?” ,“为什么可以在 const 指针上调用删除操作符”(两者实际上都处理有问题的情况,即指向 const 的指针)。
我自己的观点(因为您正在询问参数):在任何给定上下文中相关操作的可能性是由类或函数的(在文档中显式或隐式定义的)契约定义的,而不仅仅是方法签名或参数类型。
| 归档时间: |
|
| 查看次数: |
933 次 |
| 最近记录: |