C++运行过程中理论基础篇(MSVC编译器)-创新互联

1、LoadLibrary

成都创新互联公司专注于企业网络营销推广、网站重做改版、海原网站定制设计、自适应品牌网站建设、H5响应式网站商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为海原等各大城市提供网站开发制作服务。

多次LoadLibrary,只有第一次会真正加载,后面一直驻留在EXE内存中。

只要不调用FreeLibrary,DLL一直都在。

后面的LoadLibrary等同于空操作。

多线程也是这样,因此DLL中多数函数中,new一个然后返回值,防止多个线程共用一个变量

2、SLT容器 vector中泛型类是深拷贝吗?

使用stl的数据结构,装载的成员到底是使用对象,还是使用指针,有时候会让人琢磨不定(使用一般对象吧,怕对象出作用域后被系统释放(如一个函数的局部变量),使用指针吧,怕频繁的new delete导致内存碎片)。

所以是vector CBase对象,还是vector在使用push_back进行装载时都差不多,即使不new 指针,泛型也会装载一个新的类对象,有新的内存地址。重要的是CBase若存在指针成员变量(如这里的char *m_str),就需要手动写好拷贝构造函数(如这里对m_str进行内存拷贝,不能是简单的=赋值操作)

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前文章:C++运行过程中理论基础篇(MSVC编译器)-创新互联
浏览路径:http://ybzwz.com/article/ccdcij.html