摘要: C语言强制转换等同于reinterpret_cast reinterpret_cast 转换 通过重新解释底层位模式在类型间转换。 语法 reinterpret_cast < 新类型 > ( 表达式 ) 返回 新类型 类型的值。 解释 与 static_cast 不同,但与 const_cast 类 阅读全文
posted @ 2021-08-27 16:36 默行于世 阅读(1853) 评论(0) 推荐(0) 编辑
摘要: 使用智能指针管理内存资源,RAII 1) RAII全称是“Resource Acquisition is Initialization”,直译过来是“资源获取即初始化”,也就是说在构造函数中申请分配资源,在析构函数中释放资源。因为C++的语言机制保证了,当一个对象创建的时候,自动调用构造函数,当对象 阅读全文
posted @ 2021-08-27 16:21 默行于世 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 在一个程序中,这些独立运行的程序片断叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理”。利用线程,用户可按下一个按钮,然后程序会立即作出响应,而不是让用户等待程序完成了当前任务以后才开始响应。 在上次的帖子聊了C++多线程的跨平台问题,后来感觉意犹未尽。今天顺便说一下开发C++多线程 阅读全文
posted @ 2021-08-27 16:06 默行于世 阅读(656) 评论(0) 推荐(0) 编辑
摘要: 注意事项 (1)初始化列表的初始化顺序:不是按照列表的顺序进行的 (2)初始化列表的初始化顺序:是按照内存模型中的成员变量的顺序(也即类声明的定义顺序)进行的; (3)也即如何为了避免出现依赖的问题:应当让参数列表和在类内的成员变量声明保持一致; 何谓初始化列表 与其他函数不同,构造函数除了有名字, 阅读全文
posted @ 2021-08-27 16:00 默行于世 阅读(879) 评论(0) 推荐(0) 编辑
摘要: 构造函数 1) 在派生类构造函数中,所有的虚基类及上一层基类的构造函数调用; 2) 对象的vptr被初始化; 3) 如果有成员初始化列表,将在构造函数体内扩展开来,这必须在vptr被设定之后才做; 4) 执行程序员所提供的代码; 析构函数 析构函数用于撤销对象的一些特殊任务处理,可以是释放对象分配的 阅读全文
posted @ 2021-08-27 15:42 默行于世 阅读(677) 评论(0) 推荐(0) 编辑
摘要: 内存泄漏是指由于疏忽或错误造成了程序未能释放掉不再使用的内存的情况。内存泄漏并非指内存在物理上消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制; 后果 只发生一次小的内存泄漏可能不被注意,但泄漏大量内存的程序将会出现各种症状:性能下降到内存逐渐用完,导致另一个程序失败; 如何排 阅读全文
posted @ 2021-08-27 15:30 默行于世 阅读(34) 评论(0) 推荐(0) 编辑