自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星星之火

人生没有彩排,每天都是现场直播!

  • 博客(158)
  • 资源 (6)
  • 收藏
  • 关注

原创 C++内存管理(2)

一、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(stati

2013-09-22 10:56:38 740

转载 C++ 面试宝典 - 知识点集锦

Reference:http://blog.csdn.net/jingxuewang110/article/details/67895571.new、delete、malloc、free关系delete会调用对象的析构函数,和new对应,free只会释放内存,new调用构造函数。malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都

2013-08-02 10:36:10 6030

转载 C++内存管理

Reference:http://www.cnblogs.com/lancidie/archive/2011/08/05/2128318.html[导语]内存管理是C++最令人切齿痛恨的问题,也是C++最有争议的问题,C++高手从中获得了更好的性能,更大的自由,C++菜鸟的收获则是一遍一遍的检查代码和对C++的痛恨,但内存管理在C++中无处不在,内存泄漏几乎在每个C++程序中都

2013-07-30 15:27:16 694

原创 面试题集锦 - 知识点总结

收集一些面试题,针对那些理解模糊的知识点,以便温故知新!9月15日,中兴面试:小端系统union{          int i;          unsigned char ch[2];  }Student;      int main()  {          Student  student;          st

2013-07-25 13:14:11 980

原创 动态规划 - 最长公共子序列 - 最长公共子串 - 最长不重复子串 - 最长递增子序列 - 最长回文子串

源自:http://blog.csdn.net/chuan6099/article/details/8952978动态规划法经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题。简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加。为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有

2013-06-05 21:29:25 1973 3

原创 C++ - static_cast/dynamic_cast/reinterpret_cast/const_cast

源自:http://blog.csdn.net/insistgogo/article/details/8941513dynamic_cast在什么时候使用:使用时间:子类和父类之间的多态类型转换引入dynamic_cast的原因:举例说明:[cpp] view plaincopyprint?#inclu

2013-05-30 11:01:55 2461 2

转载 C++ 虚继承

源自:http://blog.csdn.net/xsh_123321/article/details/59562891.为什么需要虚继承如下图所示如果访问Der::Fun or Der::m_nValue就会带来二义性,无法确定是调用Base1的还是Base2的,所以为了解决多重继承情况下成员访问的二义性,引入了虚继承机制。一般继承

2013-05-29 22:39:03 1795 1

转载 C++虚析构函数

源自:http://blog.csdn.net/m6830098/article/details/8927689#include   #include   using namespace std;  #include      using namespace std;    class Base  {      public:

2013-05-29 17:35:58 897

转载 C++拷贝构造函数

源自:http://blog.csdn.net/lwbeyond/article/details/6202256一. 什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:[c-sharp] view plaincopyint a = 100;  int b = a;   而类对象与

2013-05-29 16:44:51 698

转载 C++虚函数表 - 类对象内存模型

源自:http://blog.csdn.net/haoel/article/details/1948051/虚函数表对C++ 了解的人都应该知道虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的。简称为V-Table。在这个表中,主是要一个类的虚函数的地址表,这张表解决了继承、覆盖的问题,保证其容真实反应实际的函数。这样,在有虚函数的

2013-05-29 15:01:49 1270

原创 知识点 - static数据成员及成员函数

#include using namespace std;class Box{public: Box(int, int); int a; int b; int show() { return ist; } static int show2() { return ist; }// static int show3() { return a; }//private: s

2013-05-29 07:59:55 906

原创 coding - 求连续子数组的最大和

题目描述:输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1, -2, 3, 10, -4, 7, 2, -5,和最大的子数组为3, 10, -4, 7, 2,因此输出为该子数组的和18。算法一:O(n)#include int

2013-05-20 17:02:53 865 1

转载 Android利用canvas画各种图形(点、直线、弧、圆、椭圆、文字、矩形、多边形、曲线、圆角矩形)

thanks:http://blog.csdn.net/rhljiayou/article/details/7212620

2014-07-11 11:00:29 1425

转载 Android自定义xmlns报错及解决办法

thanks:http://blog.csdn.net/dxswzj/article/details/11020787面对新的知识,出现错误就是学习的机会。自定义xmlns控件可以参考如下文章,讲的狠详细,相信动手过一遍应该就不会忘记。http://blog.csdn.net/bruce_ke/article/details/6911237但是,可能会出

2014-03-30 19:23:48 7839

转载 Android - Adapter

thanks:http://www.cnblogs.com/halzhang/archive/2010/11/28/1890637.htmlAdapter在Android中占据一个重要的角色,它是数据和UI(View)之间一个重要的纽带。在常见的View(ListView,GridView)等地方都需要用到Adapter。如图1直观的表达了Data、Adapter、View三者的关系。

2014-03-13 21:00:54 754

转载 Android - SurfaceView

thanks:http://www.cnblogs.com/xuling/archive/2011/06/06/android.html首先我们先来看下官方API对SurfaceView的介绍SurfaceView的API介绍Provides a dedicated drawing surface embedded inside of a view hierarchy. You c

2014-03-12 11:06:27 753

转载 Android - Handler

thanks:http://www.cnblogs.com/devinzhang/archive/2011/12/30/2306980.html方法一:(java习惯,在android平台开发时这样是不行的,因为它违背了单线程模型)刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题   new Thread( new Runnable()

2014-03-11 16:28:59 646

原创 关于论文格式

近期修改论文,格式修改的头昏脑涨,最终还是静下心来学了个大概,终于搞定。防止以后需要,现简单记下个人认为稍微复杂点的地方。1)分页每一章节需要另起一页,一般为方便,用enter键直接换到下一页,效果是有了,但是如果碰到前面章节有修改,就会影响到下一章节,还是规范点好。=》分隔符=》分页符即可。同时插入分页符时,最好在前一页末尾使用enter键空一行出来,这样在下

2014-03-02 13:27:18 1032

转载 Java接口与抽象类比较

thanks:http://baike.baidu.com/link?url=gH78QVOjmLmR5847sx0uS01odt96k9Vv8MPjxdmuysQB87ITG_5XfDHWz3G7BvwtJava接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。如

2013-12-01 21:56:59 895

原创 基本排序算法 - 基本知识点

了解一下,加强记忆

2013-12-01 17:25:51 979 1

转载 Java中String与StringBuffer的区别

thanks:http://blog.csdn.net/yirentianran/article/details/2871417在java中有3个类来负责字符的操作。1.Character 是进行单个字符操作的,2.String 对一串字符进行操作。不可变类。3.StringBuffer 也是对一串字符进行操作,但是可变类。String:是对

2013-12-01 13:43:20 716

转载 Java IO流

thanks:http://www.cnblogs.com/oubo/archive/2012/01/06/2394638.htmlJava流操作有关的类或接口:Java流类图结构: 流的概念和作用流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。即数据在两设备间的传输称为流,流的本质是数据传输,根据数据传输特性

2013-11-15 22:14:20 1005

转载 Java泛型编程

thanks:http://qiemengdao.iteye.com/blog/15256241介绍Java泛型编程是JDK1.5版本后引入的。泛型让编程人员能够使用类型抽象,通常用于集合里面。下面是一个不用泛型例子: Java代码  List myIntList=new LinkedList(); //1  myIntList.add(newI

2013-11-15 21:36:14 1110

原创 Hashtable与HashMap

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,在只有一个线程访问的情况下,效率要高于Hashtable。HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。HashMap把Hashtable的contains方法去掉了,改成co

2013-11-15 11:03:41 1731

转载 Java多线程编程 - 基础篇

thanks:http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。1)对于直接继承Thread的类代码大致框架是:1234567891

2013-11-10 14:22:29 873

转载 只在堆、栈上生成对象的类

thanks:http://bbs.csdn.net/topics/3702638291,设计只能在堆上分配的类方法:将类的构造函数或者析构函数设置为protected(private会限制继承),迫使类对象在栈的构造时编译出错,并提供destroy接口#include   using namespace std;  

2013-11-02 23:47:02 718

原创 C语言编译过程的步骤

编译,编译程序读取源程序(字符流),对之进行词法和语法的分析,将高级语言指令转换为功能等效的汇编代码,再由汇编程序转换为机器语言,并且按照操作系统对可执行文件格式的要求链接生成可执行程序。C源程序头文件-->预编译处理(cpp)-->编译程序本身-->优化程序-->汇编程序-->链接程序-->可执行文件1.编译预处理读取c源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理伪指令主要

2013-10-31 17:07:43 880

转载 网络编程 - select、poll、epoll比较

//   thanks :http://www.cnblogs.com/Anker/p/3265058.htmlselect,poll,epoll都是IO多路复用的机制。I/O多路复用就通过一种机制,可以监视多个描述符,一旦某个描述符就绪(一般是读就绪或者写就绪),能够通知程序进行相应的读写操作。但select,poll,epoll本质上都是同步I/O,因为他们都需要在读写事件就绪后自己负

2013-10-29 21:50:17 878

原创 如何提高MySQL查询速度

1、选取最适用的字段属性MySQL 可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同

2013-10-29 20:37:18 3789

原创 main之前和之后(可)执行哪些函数(操作)

main函数之后可以执行其他的函数吗?可以的。请看:#include #include /* Prototypes */int fn1(void), fn2(void), fn3(void), fn4 (void);void main( void ){ _onexit( fn1 ); _onexit( fn2 ); _onexit( fn3 ); _o

2013-10-29 19:58:09 1323

原创 java中==和equals的区别

值类型是存储在内存中的堆栈,而引用类型的变量在栈中仅仅是存储应用类型变量的地址,而其本身则存储在堆中。==比较的是两个变量的值是否相等, 对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。equals表示两个变量是否是同一个对象的引用,即堆中的内容是否相同。==比较的是两个对象的地址,equals比较是的两个对象的内容。所以当equals为true时,=

2013-10-26 22:48:49 752

原创 时间复杂度O(n),空间复杂度O(1)的排序

貌似是个老题目,巧用下标。题目描述:有1,2,....一直到n的无序数组,求排序算法,并且要求时间复杂度为O(n),空间复杂度O(1),使用交换,而且一次只能交换两个数.考虑到平时接触最多的几种排序,时间复杂度都没有O(n)的,看看题目,它也有它的特殊的地方,待排序的数组为1。。。n,可用下标处理。具体如下:void MySort(int a[], int n){

2013-10-24 10:44:54 1706

原创 socket编程

一、基于TCP的socket编程服务器端程序:1)创建套接字(socket)。此系统调用的实际效果是,请求操作系统把网络通信所需要的一些系统资源(存储器空间、CPU时间、网络宽带等)分配给该应用进程。2)将套接字绑定到一个本地地址和端口上(bind)。3)将套接字设为监听模式,准备接收客户请求(listen)。4)等待客户请求到来;当请求到来后,接受

2013-10-15 20:44:30 1083

原创 inline内联函数

(一)inline函数(摘自C++ Primer的第三版)         在函数声明或定义中函数返回类型前加上关键字inline即把min()指定为内联。   inline int min(int first, int secend) {/****/};      inline函数对编译器而言必须是可见的,以便它能够在调用点内展开该函数。与非inline函数不同的是,

2013-10-10 15:02:25 683

原创 C++中哪些函数不能被声明为虚函数

常见的不不能声明为虚函数的有:普通函数(非成员函数);静态成员函数;内联成员函数;构造函数;友元函数。1、为什么C++不支持普通函数为虚函数?      普通函数(非成员函数)只能被overload,不能被override,声明为虚函数也没有什么意思,因此编译器会在编译时邦定函数。2、为什么C++不支持构造函数为虚函数?      这个原因很简单,主要是从语

2013-10-10 14:55:27 1327

原创 笔试题集锦(1)

腾讯感谢:http://blog.csdn.net/hustcqb/article/details/122205497  Unix系统中,哪些可以用于进程间的通信?()A.Socket       B.共享内存       C.消息队列       D.信号量关于这个问题,可参考两个链接,ABCD应该都可以。http://www.cnblogs.com/

2013-10-09 09:56:37 1087

原创 笔试题集锦(2)

thanks:http://blog.csdn.net/yaoyuandejiushizhu/article/details/11879047一,简答题(30分)1,当前计算机系统一般会采用层次结构存储数据,请介绍下典型计算机存储系统一般分为哪几个层次,为什么采用分层存储数据能有效提高程序的执行效率?(10分)    所谓存储系统的层次结构,就是把各种不同存储容量、存取速度和价

2013-10-09 09:52:55 1024

原创 coding - 求数组中的逆序对

题目源自《剑指offer》,给定一个数组,求数组中逆序对的个数。思路:基本的思想是从头到尾对每个数遍历一遍,时间复杂度O(n*n);书中提供的思路可提高效率,时间复杂度为n*log n。假设有数组:a b c d e f g h (这里字母代表数字),可将其分为两部分,abcd和efgh,如果已经分别求得这两部分的逆序对数n1和n2,则只需要求这两部分之间存在的逆序对数n3

2013-10-04 20:29:41 762

原创 coding - 二叉搜索树与双链表

题目源自《剑指offer》,要求将一个二叉搜索树转化为一个双链表。思路:对于根节点root,将其左孩子指针lchild指向左子树最大节点,将其右孩子指针指向其右子树最小节点,然后分别对左右子树递归调用。思想简单,代码写起来似乎需要慎重。#include using namespace std; struct BinaryTreeNode{ int m_nValue;

2013-10-04 17:36:04 740

原创 qsort与sort

qsort功 能: 使用快速排序例程进行排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数: 1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大小4 指向函数的指针,用

2013-10-04 17:17:22 691

多益机试题目

多益机试

2013-10-13

数据结构与算法分析-c语言描述

原书曾被评为20世纪顶尖的30部计算机著作之一,作者Mark Allen Weiss在数据结构和算法分析方面卓有建树,他的数据结构和算法分析的著作尤其畅销,并受到广泛好评.已被世界500余所大学用作教材。

2013-04-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除