摘要: C++内存区域分为5个区域。分别是堆,栈,自由存储区,全局/静态存储区和常量存储区。 栈:由编译器在需要的时候分配,在不需要的时候自动清除的变量存储区。里面通常是局部变量,函数参数等。 堆:由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new对应一个delete。如果 阅读全文
posted @ 2017-08-24 11:01 sold_out 阅读(2618) 评论(0) 推荐(0) 编辑
摘要: 相同点:都可用于申请动态内存和释放内存 不同点: (1)操作对象有所不同 malloc与free是C++/C 语言的标准库函数,new/delete 是C++的运算符。对于非内部数据类的对象而言,光用maloc/free 无法满足动态对象的要求。对象在创建的同时要自动执行构造函数, 对象消亡之前要自 阅读全文
posted @ 2017-08-24 10:59 sold_out 阅读(295) 评论(0) 推荐(0) 编辑
摘要: reinterpret_cast是C++里面的一个强制类型转换符,能够将任何的指针类型转换成其他的任何指针类型;能够将任何的整数类型转换成指针类型,反之亦然;滥用reinterpret_cast强制类型转换符不安全。除非要转换成的类型是固有的低级别的,不然要考虑使用其他的转换操作符。 a、reint 阅读全文
posted @ 2017-08-24 10:50 sold_out 阅读(415) 评论(0) 推荐(0) 编辑