会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
冥地魔王
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
下一页
2017年4月1日
愚人节继续学习
摘要: 今天学习linux的硬盘管管理及文件系统管理,及解压缩的一些操作。 C++方面继续学习如何跟踪内存泄漏。在编写的内存泄漏跟踪中,当重载new(size_t)时,可能引起递归调用,这时就需要对递归调用进行锁定。建立一个友元类。 友元函数与友元类的区别在于,友元函数可能破坏了封装性,友元类在一定程度上确
阅读全文
posted @ 2017-04-01 20:26 冥地魔王
阅读(119)
评论(0)
推荐(0)
2017年3月31日
new操作符与delete操作符的重载
摘要: new操作符的执行流程: 首先分配出规定大小的内存空间,根据构造函数进行初始化,返回分配内存空间的内存地址。 delete操作符的执行流程: 执行元素的析构函数,释放内存空间。 new可以额外接其它的任何 参数,但是第一个参数一定是size_t形式,表示需要分配空间的大小 new(nothrow)i
阅读全文
posted @ 2017-03-31 16:03 冥地魔王
阅读(199)
评论(0)
推荐(0)
内存泄漏管理
摘要: 头文件包含需要遵循一定的次序:C语言库,C++语言库,项目.h,自己编写的.h。 内存泄漏跟踪管理的思路是,将new函数和delete函数重载,在delete过程中,跟踪new指针创建的空间,是否被delete掉,如果没有,则打印输出文件名及行数。 可以用__FILE__,和__LINE__宏操作来
阅读全文
posted @ 2017-03-31 13:27 冥地魔王
阅读(129)
评论(0)
推荐(0)
2017年3月28日
给表达式计算器增加异常信息的处理
摘要: 给表达式计算器程序增加了异常的处理。 其中异常处理流程中,可以增加栈回溯的信息,便于找到出错的位置。 可以在异常类成员函数中后面增加throw()来表示这个函数禁止抛出异常。在C++11标准中,可以使用noexpect来进行说明不抛出异常,如果在不抛出异常的操作中却抛出了异常,编译可以通过,但是会调
阅读全文
posted @ 2017-03-28 23:30 冥地魔王
阅读(267)
评论(0)
推荐(0)
leetcode的题4:给定两个有序数组,求两个数组的中间值。
摘要: 我的思路是,既然是有序数组,就可以按照归并排序法的思路,按照最后的归并过程。 建立一个新的数组,并对两个数组及归并数组目前的位置分别编号i,j,k。 将两个数组中较小的值推入i的位置,然后将被提取数据的数组及归并数组索引+1。 这个过程中需要考虑的问题是如果其中一个数组已经全部提取完成应如何处置。
阅读全文
posted @ 2017-03-28 20:35 冥地魔王
阅读(1311)
评论(0)
推荐(0)
Longest sbustring的求解
摘要: 求解一个字符串中,不重复的最长字符串的长度是多少。 比如“abcabcbb”,最长不连续的字符串就是abc,长度是3。 我的求解思想: 1、首先从第一个字符开始,将后面的字符一个一个的推入一个string中,并且每次推入前,查找心的string中是否有字符与将推入的字符相等,如果相等,则停止推入,得
阅读全文
posted @ 2017-03-28 16:25 冥地魔王
阅读(136)
评论(0)
推荐(0)
C++ 标准异常库
摘要: bad_alloc,当new操作不成功时就会抛出此类异常。 在使用标准异常库时,我们可以直接使用,同样也可以选择继承使用。 选择继承使用时,与函数一样,catch应该使用基类的应用,应为一个基类不加引用的话,使用的是基类本身创建的对象。只用使用引用时才会选择是使用哪一个派生类。
阅读全文
posted @ 2017-03-28 16:16 冥地魔王
阅读(201)
评论(0)
推荐(0)
C++异常类(层次结构)
摘要: 可以在类内针对类可能发生的错误创建异常类,这些异常类在捕获的时候应当按照一定顺序进行捕获,以便于能获取到最准确表达异常的异常类。比如当判断<0和<10时,应当将<0这个条件先进行捕获,否则如果先捕获<10就判断不出来<0的错误了。 异常类可以做继承,继承函数的构造函数一定要编写。继承的异常类在抛出异
阅读全文
posted @ 2017-03-28 10:29 冥地魔王
阅读(472)
评论(0)
推荐(0)
2017年3月27日
C++异常处理(try语句的使用,异常的传播,栈展开)
摘要: try块可以嵌套使用,当try内部模块中为捕获到异常时,传播到外部捕获。当内层已经捕获异常时,将不再传播到外层。当需要传播到外层时,需要内部捕获该异常后,重新再抛出异常,就可以传播到外面。注意重新抛出异常的时候会调用拷贝构造函数。 当异常均未被捕获时,将调用terminate函数,terminate
阅读全文
posted @ 2017-03-27 18:46 冥地魔王
阅读(911)
评论(0)
推荐(0)
C++异常的处理(异常处理的基本流程)
摘要: 使用throw语句在可能发生异常的程序出抛出异常代码,在执行程序是使用try语句执行,并使用catch语句捕获异常,执行异常之后的操作。 与C语言的setjmp和longjmp相比,他不必在每一次语句运行之后都使用一次异常处理代码,并且,它不容易忽略异常。 throw在抛出异常时,不仅可以抛出内置类
阅读全文
posted @ 2017-03-27 16:14 冥地魔王
阅读(2658)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
下一页
公告