摘要:
先看如下代码:[代码]输出结果为5跟9,有点超出自己的意料。本来a指定为const型,但用const_cast让非常量指针能够指向a的内存空间并可修改,断点查看时a的值也确实修改为9啦,那为什么输出的时候还是为5呢?百思不得其解,后来作为了一下反汇编后分析得到:原来虽然没使用优化,但系统还是对a这个const变量进行了预编译般的替换。所以即使原值其实已经改了,可是在输出时还是会自动替换为原值。这到... 阅读全文
摘要:
先看以下代码:{auto_prt<Circle> aCirCle(new Circle);}此时会发生内存泄露吗,并没有释放掉内存啊?其实不会的,当auto_ptr对象的生命周期结束后,会自动帮我们delete掉new的内存空间的。auto_ptr是RAII的一个应用,其对象最美妙之处在于如果它被声明为一个函数的局部变量,或作为函数的参数,甚至是一个静态对象,我们都可以保证其指向对象的... 阅读全文