C++
Faith★
这个作者很懒,什么都没留下…
展开
-
C++类型转换
static_cast多用于将指针转换为另一同一继承体系内的指针,它是安全的类型转换。编译器会确保转换后的类型便是您所想转换的。该转换经常用于消除多重继承带来的类型歧义reinterpret_cast用于转换不相关类型。警告:不要对DWORD和指针进行相互转换。在64位平台上,它不能通过编译。const_cast用于移除对象的’const’性质。PS:不应该使用const_cast,除非是绝对需要。必须使用’const_cast’一般意味着某个API没有很恰当的使用’const’。注意:Wi..原创 2020-11-26 14:48:58 · 165 阅读 · 1 评论 -
C++内存模型-new操作符
new操作符C++中利用new操作符在堆区开辟数据。堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete。利用new创建的数据,会返回该数据对应类型的指针。原创 2020-11-26 14:39:18 · 88 阅读 · 0 评论 -
C++内存模型-堆区和栈区
栈区:由编译器自动分配释放,存放函数的参数值,局部变量等。注意事项:不要返回局部变量的地址,栈区开辟的数据由编译器自动释放。堆区由程序员分配释放,若程序员不释放,程序结束时由操作系统回收在C++中主要利用new在堆区开辟内存...原创 2020-11-26 14:38:49 · 181 阅读 · 0 评论 -
C++内存模型-代码区
C++内存模型-代码区内存分配代码区 (程序运行前分配,存放机器代码)全局区 (程序运行前分配,存放变量,全局变量在全局区中,局部变量不在全局区中)堆区 (程序运行后分配)栈区 (程序运行后分配)总结:程序运行前C++分为全局区和代码区代码区特点:共享(避免重复调用的代码)和只读(防止程序修改)全局区存放全局变量,静态变量,常量常量区存放const修饰的全局变量和字符串常量...原创 2020-11-26 14:38:00 · 112 阅读 · 0 评论