铅笔

在你的害怕中坚持的越多,你就会越自信
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页

2018年8月30日

摘要: 1. 当代软件架构实践中的经验 (1)尽量使用单重继承的方式进行系统设计 (尽量不要一个类继承多个父类) (2)尽量保持系统中只存在单一的继承树(创建一个顶层得抽象父类) (3)尽量使用组合关系代替继承关系 2. 不幸的事实 (1)C++语言的灵活性使得代码中可以存在多个继承树(多个继承树会使得代码 阅读全文

posted @ 2018-08-30 19:31 黑色の铅笔 阅读(236) 评论(0) 推荐(0) 编辑

摘要: 上一节已经实现了异常基类的功能,接下来将实现基于该基类的几个父类 功能定义如下 异常类 功能描述 ArithmeticException 计算异常 NullPointerException 空指针异常 IndexOutOfBoundsException 越界异常 NotEnoughMemoryExc 阅读全文

posted @ 2018-08-30 00:14 黑色の铅笔 阅读(374) 评论(0) 推荐(0) 编辑

2018年8月29日

摘要: 1. 简介 new/delete关键字,其本质是预定义的操作符,因此支持重载 默认new和delete的行为: new: ①获取内存空间(默认为堆空间);②在获取的空间中调用构造函数创建对象 delete: ①调用析构函数销毁对象;②归还对象所占用的空间(默认为堆空间) new: ①获取内存空间(默 阅读全文

posted @ 2018-08-29 00:22 黑色の铅笔 阅读(1041) 评论(0) 推荐(0) 编辑

2018年8月28日

摘要: 1.C++中的异常 C++异常处理语法元素try-catch语句 try语句处理正常代码逻辑 (但有可能产生异常,产生异常时抛出异常并转到catch语句块里面的代码) catch语句处理异常情况 try语句中的异常由对应的catch语句处理 C++通过throw语句抛出异常信息(一般在try语句中) 阅读全文

posted @ 2018-08-28 00:46 黑色の铅笔 阅读(1842) 评论(0) 推荐(0) 编辑

2018年8月27日

摘要: 1. 出现的问题 编写视频解码器程序时,把解码那部分单独置于一个线程中进行处理,后来实际应用到项目中发现内存泄漏很严重 问题就出现在多线程中,每次视频解码器程序关闭时首先必须释放其所涉及的堆空间, 由于Qt组件的堆空间一般是由其父组件直接进行管理的,但线程如果没有指定对应的父组件就必须自己手动处理; 阅读全文

posted @ 2018-08-27 16:36 黑色の铅笔 阅读(853) 评论(0) 推荐(0) 编辑

2018年8月14日

摘要: 摘要 智能指针:通过C++模板技术实现的一个类模拟指针的行为(如 、 ) 1. 智能指针产生背景 内存泄漏(臭名昭著的Bug) (1)动态申请堆空间,用完后不归还(堆空间越来越少,程序长时间运行,就会导致总堆空间内存没有了) (2)C++语言中没有垃圾回收的机制 (3)指针无法控制所指堆空间的生命周 阅读全文

posted @ 2018-08-14 23:56 黑色の铅笔 阅读(602) 评论(0) 推荐(0) 编辑

摘要: 窗口右上角的X按键会导致其在不给出任何提示的情况下直接退出, 当点击右上角的x按键时,会触发Qt中的一个事件处理函数:void QWidget::closeEvent ( QCloseEvent e ),默认情况该函数无任何提示性消息,如果需提示则需要重写该函数 说明: 事件的ignore函数表示忽 阅读全文

posted @ 2018-08-14 21:27 黑色の铅笔 阅读(25883) 评论(0) 推荐(1) 编辑

摘要: 1. 命名空间作用 命名空间是程序设计者命名的 ,程序设计者根据需指定一些有名字的空间域,把一些全局实体分别存放到各个命名空间中,从而与其他全局实体分隔开。 通俗的说,每个名字空间都是一个名字空间域,存放在名字空间域中的全局实体只在本空间域内有效。名字空间对全局实体加以域的限制,从而合理的解决命名冲 阅读全文

posted @ 2018-08-14 18:42 黑色の铅笔 阅读(3606) 评论(0) 推荐(1) 编辑

2018年7月19日

摘要: 编程时有时需要将一段代码中的某一块只执行一次: include using namespace std; int fun1(int a) { static bool once = true;//静态变量初始化一次 if (once){ cout 阅读全文

posted @ 2018-07-19 22:53 黑色の铅笔 阅读(2320) 评论(0) 推荐(0) 编辑

摘要: [TOC] 在C++中,类的对象建立分为两种: 一种是静态建立,如A a; 一种是动态建立,如A ptr=new A; 栈对象/堆对象 栈对象: 静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。使用这种方 阅读全文

posted @ 2018-07-19 22:37 黑色の铅笔 阅读(254) 评论(0) 推荐(0) 编辑

上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页