- 博客(20)
- 资源 (2)
- 收藏
- 关注
原创 effective c++条款10-12(operator=(重载返回类型、自我赋值和深层复制))整理
一、重载operator=返回类型下面举例说明,operator=类似。针对:ostream & operator 说明几点:1.第一个形参为对ostream对象的引用,在该对象上将产生输出,ostream为非const,因为写入到流会改变流的状态;该形参是一个引用,因为不能复制ostream对象(在c++中定义的标准输入输出流类istream和ostream,其中拷贝构造函数和赋
2014-11-30 17:11:06 1324
原创 effective c++ 条款07(为多态基类声明virtual析构函数)整理
一、虚函数表原理陈皓的一篇blog讲的很透彻:http://blog.csdn.net/haoel/article/details/1948051/虚函数表可以分为:单一继承无虚函数覆盖、单一继承有虚函数覆盖、多重继承无虚函数覆盖和多重继承和有虚函数覆盖。注意与虚拟继承区分开来二、多态实现原理多态则是通过继承、虚函数(virtual)、指针来实现。
2014-11-27 16:15:10 964
原创 effective c++ 条款05、06(编译器自动生成函数)整理
一、编译器为空类生成函数的原型以及函数创建的时机在C++中当创建一个空类时,C++就会默认的为这个类创建4个函数:默认的构造函数、析构函数、拷贝构造函数、以及赋值操作符。C++中创建一个空类:class Empty {};默认会生成4个函数,其函数的原型如下:public: Empty() { ... } Empty(const Empty& rhs) {
2014-11-27 11:22:01 1029
原创 effective c++ 条款 04 (对象初始化)整理
确定对象使用前已被初始化原则:不论是类的成员变量还是其他作用域的变量,使用前都要保证已被初始化(或者说赋值)一、无任何成员的内置类型初始化/*内置类型通过复制完成初始化*/int x = 0;const char* a = "abc";int a[2] = {0,0};二、STL容器初始化STL容器关注容器大小,防止越界,初始化的工作不用关心三、类成员变量初始化
2014-11-27 10:04:14 923
原创 effective c++ 条款03 整理
尽可能使用const(1)const约束指针、迭代器const char* p = "adc"; //non-const pointer,const datachar* const p = "abc"; //const pointer,non-const dataconst char* const p = "abc";//const pointer,const dataconst s
2014-11-26 20:19:25 760
原创 effective c++ 条款02 整理
尽量以const、enum和inline代替#define一、#define的功能参考:http://www.crifan.com/_define_detailed/(1) #define的变体,即#ifndef,可以防止头头文件的重复引用#ifdef和 #define组合,一般用于头文件中,用以实现防止多个文件对此同一个头文件的重复引用.实际使用中,即使你的头文件暂时没有被多个文
2014-11-26 19:36:50 1402
原创 effective c++ 条款01 整理
书中将C++划分为4个次语言,期望将混乱的C++体系进行简单的梳理,只能说目的达到了,但这么分合适不合适呢?不知道....(1)C(C++ without class)初级C++确实是对C的延生,这也涉及到C++是否应该严格兼容C的问题,历史问题不去评判,但这是事实。(2)面向对象C++(Object-Oriented C++)涉及到类、封装、继承、多态和虚拟(动态绑定)机制,这也
2014-11-26 16:39:15 870
转载 hash实现--开放寻址方式
原文:http://blog.csdn.net/aa2010aa/article/details/4908113
2014-11-25 10:12:10 1372 1
原创 号被盗了
周末没有登录博客,周一发现账号被盗了!!改了密码,还修改了邮箱!!我只能说: 你太看得起我了,我认真写博客,你是心动了?还有,CSDN可是IT博客,一家以IT起家立命的公司居然保护不了用户的隐私和信息安全!!!这两次异常登录的IP 是哪里的?找出来保证不打死你!!最后在客服的帮助下重设了密码,但我感觉CSDN的账号保护形同虚设,很鸡肋!!
2014-11-25 09:09:56 1198 1
原创 如何使用随机数函数
srand函数是随机数发生器的初始化函数,原型: void srand(unsigned seed); 它需要提供一个种子,如: srand(1); 直接使用1来初始化种子。 不过常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970 到现在所持续的秒数,然后将time_t型数
2014-11-24 03:24:16 1607
原创 《github一天一道算法题》:快速排序和随机快速排序
看书、思考、写代码!!!/********************************* * copyright@hustyangju * blog: http://blog.csdn.net/hustyangju * 题目:快速排序和随机快速排序 * 思路:采用分治+原址排序,分裂函数将区间分为三个子区间:主元区间,再在主元旁边的两个子区间递归调用排序 * 分裂函数一
2014-11-21 15:51:02 1305
原创 C/C++随机数生成方法
一、随机数测试C++中常用rand()函数生成随机数,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。生成随机数时需要我们指定一个种子,如果在程序内循环,那么下一次生成随机数时调用上一次的结果作为种子。但如果分两次执行程序,那么由于种子相同,生成的“随机数”也是相同的。在工程应用时,我们一般将系统当前时间(Unix时间)作为种子,这
2014-11-21 15:01:10 1374
原创 《github一天一道算法题》:堆算法接口实现(堆排序、堆插入和堆取最值并删除)
看书、思考、写代码!/********************************************* * copyright@hustyangju * blog: http://blog.csdn.net/hustyangju * 题目:堆排序实现,另外实现接口:取堆最大值并删除、堆插入 * 思路:堆是在顺序数组原址上实现的,利用完全二叉树的性质,更具最大堆和最小堆的定义实
2014-11-21 11:25:02 1557
原创 抢占式内核与非抢占式内核中的自旋锁(spinlock)的区别
一、概括(1)自旋锁适用于SMP系统,UP系统用spinlock是作死。(2)保护模式下禁止内核抢占的方法:1、执行终端服务例程时2、执行软中断和tasklet时3、设置本地CPU计数器preempt_count(3)自旋锁的忙等待的实际意义是:尝试获取自旋锁的另一个进程不断尝试获取被占用的自旋锁,中间只pause一下!(4)在抢占式内核的spin_lock宏中,第一次关抢占,目的
2014-11-14 11:18:04 2510
原创 浅析Linux的软中断的实现
参考:http://bbs.chinaunix.net/thread-2333484-1-1.htmlhttp://liu1227787871.blog.163.com/blog/static/20536319720129210112658/1、软中断一般来说,一次中断服务的过程通常可以分为两个部分。开头的 部分往往必须在关中断的条件下执行,这样才能在不受干扰的
2014-11-13 10:42:58 2148
原创 Linux内核的idle进程分析
1. idle是什么 简单的说idle是一个进程,其pid号为 0。其前身是系统创建的第一个进程,也是唯一一个没有通过fork()产生的进程。在smp系统中,每个处理器单元有独立的一个运行队列,而每个运行队列上又有一个idle进程,即有多少处理器单元,就有多少idle进程。系统的空闲时间,其实就是指idle进程的"运行时间"。既然是idle是进程,那我们来看看idle是如何被创建,又具体做了
2014-11-12 09:33:51 1226
原创 《github一天一道算法题》:分治法求数组最大连续子序列和
看书、思考、写代码!/*************************************** * copyright@hustyangju * blog: http://blog.csdn.net/hustyangju * 题目:分治法求数组最大连续子序列和 * 思路:分解成子问题+合并答案 * 时间复杂度:O(n lgn) * 空间复杂度:O(1) ********
2014-11-05 21:29:34 1530
原创 《github一天一道算法题》:并归排序
看书、思考、写代码!/******************************************* * copyright@hustyangju * blog: http://blog.csdn.net/hustyangju * 2014-11-04 * 题目:并归排序 * 描述:中分法递归分解一个区间的数组,再合并子区间,在合并时完成排序 * 解题思路:递归法,利用临界
2014-11-04 22:14:34 1195
原创 Linux软连接和硬链接
作者:iTech出处:http://itech.cnblogs.com/ 1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称
2014-11-04 09:27:18 892
原创 《github一天一道算法题》:插入排序
看书、思考、写代码!/************************************************ copyright@hustyangju* blog: http://blog.csdn.net/hustyangju* 2014-11-03* 题目: 插入排序* 描述: 给定一个数组,按照逐个插入比较的方法得到一个已序数组* 解题思路:从第一个元素开始,在已序
2014-11-03 21:36:12 1049
qt signal-slot测试代码
2013-12-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人