为什么样C#中成员常量可以表现得像静态量?指针悬挂和指针未初始化有什么样区别
时间:2018-02-06 09:36:02
浏览:次
点击:次
作者:
来源:
立即下载
常量就是\"③\",①这类东东,如果仅仅标记①些内容
const string text =\"test\";
那么常量对内存就是无影响的,仅仅在IL中有①个标记
只有在常量被引用的时候,常量才发挥作用
比如你在写代码时这样写到
var teststr = Request[text];那么编译器再编译的时候会替换所有常量引用
IL代码既可以理解为这样
var teststr = Request[\"test\"];这样不难看出,在运行时并不是去常量声明的地方超找值,而是直接被替换掉了,
所以常量在语法上完全可以当作静态变量使用!
如有错误请指出,谢谢!\", \"extras\": \"\", \"created_time\": ①④⓪⑧⑧⑦②①⑨⑦ · \"type\": \"answer
-
所谓指针悬挂,就是指针指向了①块没有分配给用户使用的内存。
而指针未初始化是导致指针悬挂的诸多原因当中的①个。
free不会把p置为NULL的,也就是说,free后p仍指向那个地址,只是自那个地址开始的内存段已经被释放掉了,所以p自然就悬挂了。如果你之后还要用到p,①般是用NULL来判断p是否有效的,这时候如果没把p置空的话,问题就出现了。所以①般free后,还应当将p置为NULL。
-
平均评分
0人
- 5星
- 4星
- 3星
- 2星
- 1星
- 暂无评论信息
