自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

onejune的博客

日拱一卒,功不唐捐

  • 博客(60)
  • 资源 (24)
  • 收藏
  • 关注

原创 ESMM图片库

2018-11-10 22:29:14 465

原创 linux下c++实现文件监控

linux下文件监控

2017-08-18 22:24:28 5285

原创 c实现内存文件系统

华为软件训练营的一个高级练习题,比较有意思,值得练习一下!    题目不是很难,主要是考察一下几个知识点:    (1)数据结构中树的操作,包括树的定义、树的遍历、节点的插入和删除,这里采用了带双亲的孩子兄弟表示法,实际上可以转换为二叉树,可以采用中序遍历的方式访问树的节点。    (2)内存管理。树节点中存放有树的信息,在每次插入一个新节点的时

2014-03-06 20:46:42 2407

原创 C++”前置声明“那些事儿

今天在研究C++”接口与实现分离“的时候遇到了一个问题,看似很小,然后背后的东西确值得让人深思!感觉在学习的过程中有太多的为什么,而每一个为什么背后都隐藏着一些原理和目的,所以得多问自己”为什么“,这样才不仅知其然,更知其所以然,才能举一反三、融会贯通,这也是我以前学习不够重视的一个问题,好在”亡羊补牢,犹未晚也!“。        C++中将”接口与实现分离“的两个重要目的就是”降低文件间的

2013-11-28 14:47:05 1679 3

转载 C++的”接口与实现分离“实现方法

让我们从stackoverflow上一个同学的问题来开始。问题的原型是这样的(原问题见:class member privacy and headers in C++):Portaljacker:“有一个类A, 有一些共有成员函数和私有数据,如下所示。” class A { public: X getX(); Y getY(

2013-11-27 16:04:52 2308 7

原创 《Effective C++》之异常安全性和异常安全函数

本篇文章是在学习“《Effective C++》item29:为“异常安全”而努力是值得的”的一个总结,主要介绍C++的异常安全性和异常安全函数。一个函数如果说是“异常安全”的,必须同时满足以下两个条件:1.不泄漏任何资源;2.不允许破坏数据。为了让代码具有更好的异常安全性,首先是”用对象来管理资源“,以避免资源的泄漏。其次,在异常安全性等级上,应该尽可能地往更高的等级上来限制。通过 copy-and-swap 方法往往可以实现”强烈保证“。但是我们也应该知道,”强烈保证“并不是对所有的情况都可实现,这取决

2013-11-25 16:25:46 2710

原创 《Effective C++》item28:避免返回handles(即:Reference、指针、迭代器)指向对象内部成分

避免返回handles指向对象的内部(主要是对象的数据成员有其他类对象)。遵守这个条款可增加封装性(防止通过类的public接口修改对象的值),帮助const成员函数更加像一个const(通过handle间接修改const常量的内部值),并将“虚号码牌“的可能性降低到最低(handle指向一个已经析构了的对象)。

2013-11-24 07:09:51 1495

原创 《Effective C++》item25:考虑写出一个不抛异常的swap函数

std::swap()是个很有用的函数,它可以用来交换两个变量的值,包括用户自定义的类型,只要类型支持copying操作,尤其是在STL中使用的很多,例如:[cpp] view plaincopyprint?int main(int argc, _TCHAR* argv[])  {      int a[10] = {1,2,3,4,

2013-11-22 15:07:49 1353

原创 C++转换构造函数和隐式转换函数

今天是第一次听到C++还有个转换构造函数,之前经常见到默认构造函数、拷贝构造函数、析构函数,但是从没听说过转换构造函数,隐式转换函数也是一样,C++的确是够博大精深的,再次叹服!         其实我们已经在C/C++中见到过多次标准类型数据间的转换方式了,这种形式用于在程序中将一种指定的数据转换成另一指定的类型,也即是强制转换,比如:int a = int(1.23),其作用是将1.23转

2013-11-18 14:30:44 3752 2

原创 《Effective C++》item11:在operator=中处理“自我赋值”

“自我赋值”是个看似不可能但却又让人望而生畏的东西,貌似几乎不会有人写出         Point p;         p = p;         这样的二逼程序,虽然不会出现编译错误,但确实是个能造成异常的语句!What‘s more,这样的“自我赋值”的机会并不少见,我们来看下面这个例子:#include "stdafx.h"#include using names

2013-11-16 12:55:44 1106

原创 一个编译错误引发的对default构造函数的调用时机的探讨

这是一个很容易让人迷惑的principle!按照我们对C++多态性的理解:定义基类中某个函数为虚函数是为了允许用基类的指针来调用子类的这个函数。通过virtual函数实现程序运行时候的动态调用。

2013-11-16 08:39:18 1463 2

原创 《Effective C++》item9:决不在构造和析构过程中调用virtual函数

这是一个很容易让人迷惑的principle!按照我们对C++多态性的理解:定义基类中某个函数为虚函数是为了允许用基类的指针来调用子类的这个函数。通过virtual函数实现程序运行时候的动态调用。        However,是不是只要在基类中使用了virtual函数就一定能够实现这种动态调用呢?是否只要在base class中定义了虚函数,那么在通过基类指针指向子类的时候就一定会调用子类实现

2013-11-15 15:13:24 1665 8

原创 由Point p1 = p和p1 = p的区别想到的关于copy构造函数和赋值操作符重载函数的调用时机问题

今天在论坛上看到一个帖子:http://bbs.csdn.net/topics/390642928?page=1#post-396087799,涉及到一个copy构造函数和赋值操作符重载函数的调用时机问题,更正了我一直以来的一个对着俩函数的理解上的误区,这个错误相信很多人都会犯过,随后我问了周围几个人,果然不出所料!特此记录,以飨读者!       首先看这样一个简单的程序,涉及到copy构造

2013-11-15 11:40:37 1489

原创 《Effective C++》item7:为多态基类声明virtual析构函数

(1)为什么要用虚函数?(2)为什么要定义virtual析构函数?(3)什么时候该定义virtual析构函数和什么时候不该定义virtual析构函数?

2013-11-14 21:41:42 2006 1

原创 《Effective C++》Item6: 如果你不想使用编译器生成的函数,就该明确拒绝!

通过对item5的学习我们知道:编译器会暗自为class创建default构造函数、copy构造函数、copy assignment操作符以及析构函数。        but,有时候我们不希望我们的类有某些特定功能,通常的做法就是不声明具有这些功能的函数就可以了,however,对于某些与生俱来的功能——比如copy构造和copy assignment,即使我们不声明,系统也会自动生成。 

2013-11-14 13:41:29 1283 1

原创 一个VC编译错误引发的对显示类型转换的思考(static_cast、dynamic_cast和const_cast)

error C2662: 'getY' : cannot convert 'this' pointer from 'const class point' to 'class point &' 的解决办法,以及对显示的类型转换static_cast、dynamic_cast、reinterpret_cast、和const_cast的探讨。

2013-11-13 16:31:45 2490 1

原创 《Effective C++》item5:了解C++默默编写并调用哪些函数(Know what functions C++ silently writes and calls.)

阅读本条款内容又有了不少新的收获,虽然本条款比较简单。有些在以往学习c++的过程中一成不变的看法在这里得到颠覆!Questions:(1)空类真的是empty class吗?( Is empty class a empty body class?)(2)copy构造函数和copy assignment操作符?(3)在什么情况下编译器会拒绝为class生成operator=?

2013-11-13 14:46:03 1251

原创 《Effective C++》Item4:确定对象被使用前已先被初始化

Questions: (1)为什么需要在对象使用前初始化?(2)关于默认构造函数的几点认识?(3)为什么要使用参数初始化表进行初始化? ----------------------------------------------------------------------------------------------------------------------

2013-11-12 21:23:11 1329 2

原创 关于“error C2871: 'std' : does not exist or is not a namespace”和“Error spawning cl.exe“的解决办法

今天在使用VC6运行程序的时候出现了几个新的error,以前没有碰到,总结一下,希望对其他同学有帮助:1.Error spawning cl.exe 错误分析:这个error一般在点击“Compile”或者“Build”后出现的:“Compiling... ,Error spawning cl.exe”,“cl.exe”是VC使用的真正的编译器(编译程序

2013-11-12 12:40:44 2181

原创 《Effective C++》Item3:尽可能使用const

Answers:(1)const的使用场合有哪些?(2)const的规则?(3)const函数?(4)const STL迭代器?(5)const函数重载?--------------------------------------------------------------------------------------------->Questions:

2013-11-10 13:42:55 1071 1

原创 《Effective C++》Item2:尽量以const,enum,inline替换#define

1.为何要“以编译器替换预处理器”?2.何为“预处理器”?作用是什么?3.何为记号表(symbol table)?4.#define的缺陷和优势?5.const定义常量的好处?6.const定义常量需要注意的几个问题?7.inline相对#define和普通函数的优势?8.enum hack是什么东东?9.enum相对const和#define的优势?什么时候可以使

2013-11-10 08:36:46 1621 1

原创 多态与设计模式之我的理解

最近因为开发一个项目的关系在研究《Head First设计模式》,想从中找到一些灵感,虽然之前也看过,但是每次学习,都会有新的理解和感悟,非常感谢作者提供了这样一本让我受益匪浅的书!        面向对象程序设计(注意这里是面向对象,而不是基于对象)的一个很重要的设计原则就是:针对接口编程,而不是针对实现编程!可就是这样一句句很浅显的话,确包含了很多面向对象的知识在里面!

2013-01-15 17:58:05 1441

原创 Android4.0源码编译方法以及错误解决方案

历时一个星期,终于将android4.0源码编译成功,中间经历了各种曲折,非常之蛋疼,现在将编译方法共享一下:    Android源码编译步骤:(基于ubuntu11.10和android4.0)1.   安装JDK2.   配置JDK环境变量gedit /etc/environment在打开的文件中,添加如下几行:PATH=$PATH:$JAVA_HOME/bi

2012-10-21 17:08:14 2178 1

原创 Android如何打开/关闭系统解锁服务?—典型错误分析

最近正在做一个Android的解锁应用,需要屏蔽系统解锁,并在适当的时候打开系统解锁,在网上search了很多有关系统解锁的资料,学到了很多关于系统解锁方面的知识,同时也发现了很多网友犯下的一个共同的错误。现分享一下:      错误一:        总所周知,要关闭系统自带的锁屏服务需要用到以下代码:mKeyguard = (KeyguardManager) getSystemSe

2012-09-03 23:15:43 9187 10

原创 C#解决MDI窗体闪屏的方法

最近从师兄手上接了一个C#的项目,需要用到MDI窗体,可是每当我显示子窗体的时候会有一次“闪烁”,很明显,看起来非常不爽,查找许久,知道是每次在show()子窗体的时候都会调用子窗体构造函数重绘窗体,其中需要将子窗体的尺寸调整到我在程序中设置的大小,无论我这样设置,这个窗口大小变化总会在show()的时候显示出来,我试过网上说的设置双缓冲、先隐藏窗体等启动之后再显示、借助定时器设置窗体的opaci

2012-06-14 20:18:40 7915 10

原创 C#将Excel数据表导入SQL数据库的两种方法

方式一:实现在c#中可高效的将excel数据导入到sqlserver数据库中,很多人通过循环来拼接sql,这样做不但容易出错而且效率低下,最好的办法是使用bcp,也就是System.Data.SqlClient.SqlBulkCopy 类来实现。using System;using System.Collections.Generic;using System.Componen

2012-06-05 12:09:51 6988 4

原创 [C#学习笔记之多线程2]多线程同步与并发访问共享资源工具—Lock、Monitor、Mutex、Semaphore

“线程同步”的含义        当一个进程启动了多个线程时,如果需要控制这些线程的推进顺序(比如A线程必须等待B和C线程执行完毕之后才能继续执行),则称这些线程需要进行“线程同步(thread synchronization)”。        线程同步的道理虽然简单,但却是给多线程开发带来复杂性的根源之一。当线程同步不好时,有可能会出现一种特殊的情形——死锁(Dead Lock

2012-05-31 23:05:20 10075 3

原创 [C#学习笔记之多线程1]使用ParameterizedThreadStart委托向线程函数传送参数

在不传递参数情况下,一般大家都使用ThreadStart代理来连接执行函数,ThreadStart委托接收的函数不能有参数,也不能有返回值。如果希望传递参数给执行函数,则可以使用带参数的ParameterizedThreadStart委托,          public delegate void ParameterizedThreadStart(Object obj)可以将要传送给

2012-05-21 12:32:23 11625 2

原创 [C#学习笔记之异步编程模式3]异步下载web网页

这是对上篇博文提到的IAsyncResult异步调用模式的一个实例应用,所用到的知识有:通过异步回调函数实现异步操作通过类实现给异步回调函数传递附加信息在子线程中通过异步回调的方式通知主线程执行结果WebRequest和WebResponse的操作using System;using System.Collections.Generic;using System.Linq;

2012-05-21 08:26:51 1867

原创 [C#学习笔记之异步编程模式2]BeginInvoke和EndInvoke方法

为什么要进行异步回调?众所周知,普通方法运行,是单线程的,如果中途有大型操作(如:读取大文件,大批量操作数据库,网络传输等),都会导致方法阻塞,表现在界面上就是,程序卡或者死掉,界面元素不动了,不响应了。异步方法很好的解决了这些问题,异步执行某个方法,程序立即开辟一个新线程去运行你的方法,主线程包括界面就不会死掉了。异步调用并不是要减少线程的开销, 它的主要目的是让调用方法的主线程不需要同步等

2012-05-20 14:36:40 7808 4

原创 [C#学习笔记之异步编程模式1]了解同步与异步

同步执行程序执行的流程是按照语句顺序执行,一句执行完再执行下一句,如果遇到函数调用,要等到函数调用返回以后才会执行下一句——这就是“程序的同步执行模式”。例 1:using System.Threading;using System;public class SynchroPattern{ public delegate int NewTaskDelegate(in

2012-05-20 11:09:53 1929 2

原创 C#内存映射文件学习

内存映射文件是由一个文件到进程地址空间的映射。        C#提供了允许应用程序把文件映射到一个进程的函(MemoryMappedFile.CreateOrOpen)。内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件

2012-05-17 17:10:35 7478 1

原创 使用剪贴板保存自定义对象

技术要点:放置到剪贴板上的对象必须是可序列化的。剪贴板接收一个实现了IDataObject接口的对象,可以用此对象“包装”具体的数据对象。可以多次调用IDataObject. SetData方法将多种类型的对象复制到剪贴板中。在获取剪贴板中的数据时通过DataFormat进行识别在进行粘贴之前,需要确保剪贴板上的数据是所需要的格式。using Sys

2012-05-14 12:00:24 1815

原创 [ACM]孤独的运货员

背景航空公司的货运飞机往返于各个国家和货物分理中心之间,分理中心的货物运送到各个国家,再将各个国家发出的货物送到分理中心。分理中心非常庞大,每个国家都有一个自己的货运站,每个货运站有两个平台用于堆放货物。其中 A 平台用于堆放运送到该国的货物,而 B 平台堆放着其它国家的货物。各个国家的货运站排成一个环形。平时,有货运汽车沿着环形的线路在各个国家的货运站之间运行。货运汽车的仓库是非常狭

2012-05-07 13:17:55 2670

原创 在scanf中使用正则表达式

[]内是匹配的字符,^表示求反集,当遇到非集合内的字符时立即终止输入 1.  输入指定范围的小写字母,遇到非法字符立即终止     scanf("%[a-z]",str1);    printf("%s\n",str1);     输入:abc123    输出:ab     //输入带空格的自定范围的字符串    scanf("%[a-z A-Z0-9

2012-05-06 10:24:35 2113 1

原创 [ACM]图形编辑器

原题见:http://acm.uva.es/p/v102/10267.html背景图形编辑器(graphical editor)允许用户改变位图图像,比如大家经常用到的Photoshop。它所采用的改变方法和文本编辑器允许修改文档的方法一样。位图图像由MxN的像素矩阵来表示,并且每个像素点都有给定的颜色。我们的任务就是来要编写一个程序来模拟一个简单的交互式图形编辑器。输入

2012-05-04 17:56:26 1382

原创 [ACM]穿越矩阵

现在有一个 m * n 的整数矩阵,请你编写一个程序计算出一条从左到右穿过矩阵的路径,并使此路径的费用最小。路径从矩阵的左侧的第一列的任意单元格开始,逐步穿过矩阵到达最右侧的一列的任意单元格。每一步是指从某单元格进入它一列的相邻单元格(如下图,可以是横向或斜向)。矩阵的第一行和最后一行实际是相邻的,你可以想象矩阵是包裹在一个横放的圆柱体外面。路径的花费是指这条路径所穿越的所有单元格中的数字

2012-05-03 16:27:03 2092

原创 [ACM] Where's Waldorf?

BackgroundGiven an m by n grid of letters and a list of words, find the location in the grid at which the word can be found.A word matches a straight, uninterrupted line of letters in the grid. A

2012-05-03 16:04:58 822

原创 [ACM]切木头

背景人们需要把一跟很长的木头切成几段,有一家名为 Analog Cutting Machinery (ACM) 的公司正在经营这一业务。他们根据切割前木头的长度来收费,木头越长、收费越高,并且每切割一次就收一次费。显而易见,在这里切割木头时,不同的切割顺序就会产生不同的价钱。譬如一跟 10 米长的木头,需要在 2、4、7 米处切开。如果顺序在这三个位置切割,需要的费用是 10 + 8 +

2012-05-03 10:08:53 1346

原创 动态规划学习之三种方法解决斐波拉契数

斐波拉契数是一个很经典的问题,也会很多公司面试的考题,每个学习计算机的同学都会接触这个问题,尤其是在学习递归的时候,利用递归来解决斐波拉契数是很多教材采用的一个例子,所以很多同学一想到斐波拉契马上就会采用递归,递归貌似简单,但是效率真的很高吗?不然!下面是我在学习动态规划的过程中总结的集中解决斐波拉契数的不同方法:一、最野蛮最原始的方法long f0(int n){ if (n =

2012-05-03 09:23:24 1808

apache-tomcat 5.5.35

apache-tomcat-5.5.35

2013-04-17

IT公司计算机面试题精选大合集

各大IT公司计算机面试题精选,包括微软、google、百度、搜狗、IBM,包括算法题、智力题、编程题,很多面试题都是从里面直接抽出来的,实习或者找工作的同学会很有用!

2013-03-05

launcher源码(ADWlauncher+android4.0原生launcher)

launcher源码(ADWlauncher+android4.0原生launcher)

2013-01-08

ios移动社交app的客户端+webservice服务器端源码

ios移动社交app的客户端+webservice服务器端源码

2013-01-08

PDroid源码

PDroid Privacy Protection是一款对手机中应用的权限进行监控和管理的应用。 1.在某app尝试读取敏感资料时,跳出警告 2.限制app是否可以读取你的敏感资料 3.制造假资料给应用(随机、手动指定) 这里是他的源码,好不容易找到的,PDroid的简介可以看下http://bbs.xda.cn/thread-11175890-1-1.html,想研究Android源码权限控制的可以看下!

2012-11-11

C#winform实现分页的控件及使用实例

C#winform实现分页的控件及使用实例,用于实现分页的动能,简单易用!

2012-06-15

c#_datagridview_详细使用教程

c#_datagridview_详细使用教程,很详细的datagridview介绍,可别小看他哦

2012-06-14

C#_控件查询手册

C#_控件查询手册,非常全面的控件介绍,使用c#进行winform开发的朋友可以下载

2012-06-14

动网论坛最近安装文件

动网论坛最近安装文件,可以用于在局域网架设论坛,非常简单,傻瓜似操作

2012-04-28

杜文亮的网络安全实验全部

杜文亮的网络安全实验全部http://www.cis.syr.edu/~wedu/,你懂得

2012-04-28

c#项目开发案例全程实录源代码

c#项目开发案例全程实录源代码,全书12个实例的详细代码:家庭视频监控系统、企业短信群发系统、人事工资管理系统、企业电话客服系统、卡拉OK点歌系统、企业QQ系统、餐饮管理系统、企业人事管理系统、超市进销存储管理系统、编程词典分析系统、在线考试系统、图书管理系统

2012-04-21

金旭亮c#课件

金旭亮老师的c#课件,共10张,廊括了c#大部分内容,内有详细源码

2012-04-06

C#实战项目500

C#实战项目,500个例子,学习c#的好帮手

2012-04-06

LINQ语法及实例大全

LINQ语法及实例大全,电子版,LINQ最强总结

2012-04-06

ACM练习题库

ACM大量习题题库 现在网上有许多题库,大多是可以在线评测,所以叫做Online Judge。除了USACO是为IOI准备外,其余几乎全 部是大学的ACM竞赛题库。 USACO http://ace.delos.com/usacogate 美国著名在线题库,专门为信息学竞赛选手准备 TJU http://acm.tongji.edu.cn/ 同济大学在线题库,唯一的中文题库,适合NOIP选手 ZJU http://acm.zju.edu.cn/ 浙江大学在线题库 JLU file:///M|/acm/ACM大量习题题库及建议培养计划.txt[2011-3-15 10:32:35] http://acm.jlu.edu.cn/ 吉林大学在线题库(一直上不去) PKU http://acm.pku.edu.cn 北京大学在线题库 URAL http://acm.timus.ru 俄罗斯乌拉尔大学在线题库 SGU http://acm.sgu.ru/ 俄罗斯圣萨拉托夫州大学在线题库 ELJ http://acm.mipt.ru/judge/bin/problems.pl?lang=en file:///M|/acm/ACM大量习题题库及建议培养计划.txt[2011-3-15 10:32:35] 俄罗斯莫斯科物理技术学院 SPOJ https://spoj.sphere.pl/ 波兰格但斯克理工大学 UVA http://acm.uva.es/ 西班牙的Universidad de Valladolid在线题

2012-03-15

数据结构1800题及答案

数据机构1800题,题目+答案,超全,考研专用

2011-04-14

八皇后问题解法(c和c++)

八皇后问题的两种解法,包含c方式和c++方式

2011-04-12

vc6.0编程助手Visual_AssistX(含破解补丁)

Visual_AssistX,vc6.0编程助手,超级好用,有了它vc6.0变得得心应手,有很多提示功能

2011-04-12

数据结构c++版(殷人昆)代码

数据结构代码(殷人昆)c++,所有代码全部调试通过,敬请享用!

2011-04-10

数据结构c语言版(严蔚敏)代码

数据结构c语言版(严蔚敏)的随书代码,全部调试通过

2011-04-02

空空如也

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

TA关注的人

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