- 博客(46)
- 收藏
- 关注
原创 总结STL的通用算法基本形式
stl的通用算法基本有如下四种形式:alg(beg, end, params):使用源输入作为输出alg(beg, end, dest, params) :使用dest作为输出,需要保证有足够的空间,所以往往使用inserteralg(beg, end, beg2, other params):beg2作为输出,假定beg2开始的范围至少跟beg和end指定的范围一样大。alg(beg, end, beg2, end2, params):beg2 end2作为输出举例:第一种比如:fin
2014-07-07 14:39:04
1356
原创 Git远程分支和refs文件详解
最近同时同步博客到github和gitcafe上,遇到一些问题,我们分如下几个方面来分析一下:推送远程分支到同一个服务器推送远程分支到不同服务器总结一下
2014-07-07 13:03:27
40596
原创 同步github上的项目到gitcafe
github固然好,只是国内访问有点慢。为了提高博客访问速度我决定把github上托管的博客同步到gitcafe上。最好能在DNS那里做CDN,但是貌似没有免费的服务。那直接指向gitcafe好了,反正没有什么国外访问的需求。简单记一下过程。gitcafe自己有导入的功能,但是貌似不是很好用。而且不够智能。所以我们先建立一个跟用户名一样的目录。gitcafe只允许这种方式的Html页面生成。并且只渲染gitcafe-pages分支。
2014-07-07 12:59:53
4253
原创 关于Const指针的一点补充
OsChina上一个朋友给出的例子,很能说明问题:typedef char * CharPtr; const CharPtr mycharptr = "Hello, World"; mycharptr[0]='h'; //OK[1] mycharptr = "It's Wrong"; //Err[2] 如果把CharPtr替代掉的话,那么似乎[
2012-05-10 13:26:33
518
原创 区分一下强制类型转换运算符重载/赋值运算符重载/对象定义的赋值
这三个名字可能很绕,看着也很不一样,但其实是三个很容易混淆的概念,并且经常在实际编程中遇到。这里拿出来比较一下。 首先是强制类型转换运算符的重载,作用是当前对象向其他类型的转换,常见的形式是operator int();Integer::operator int(){ return x;} 调用方式类似于Integer c(10)
2012-05-08 23:32:47
990
原创 深入解析C++输入输出运算符重载
其实算不上什么深入解析,只不过最近看CArchive类的实现,其中一些写法完全颠覆了我对输入输出运算符重载的一些理解,所以在这里mark一下。 我们以输出运算符为例。首先输出运算符重载的一般形式是friend ostream& operator(ostream& o,const ClassName& c);[1] ostream是c++流输出的
2012-05-07 22:42:32
12224
2
原创 简短总结一下C#里跨线程更新UI
跨线程更新UI是写多线程程序尤其是通信类的程序经常遇到的问题,这里面主要的问题是冲突,比如数据线程想要更新UI的时候,用户同时也在更新UI,就会出现争用。C#里可以用Control.CheckForIllegalCrossThreadCalls = false; 来关闭跨线程检测。但是这样做有一定的风险,容易让程序崩溃。 最好的办法是通过Invoke,这篇博
2012-04-17 11:36:27
807
原创 记ThinkPad某些型号下Linux报Unable to enumerate USB device错误的问题
这问题确实挺烦的,据说常见于某些ThinkPad系的笔记本,具体表现是不停的报Unable to enumerate USB device….. 的错误,而在某些Linux版本(比如pinguy os)下会不停提示Device Recognized和Device Removed,有人提供了如[1]的解决方案,但是好像在pinguy os 下并无效果,而且这实际上
2012-04-14 21:31:17
10780
原创 关于类成员变量初始化顺序
java和C#语言里类变量初始化的顺序是1 类成员变量初始化先于类的构造函数2 静态成员变量先于实例变量3 父类成员变量先于子类成员变量 C#相反4 父类构造函数先于子类构造函数 举一个java的例子:class Base{ public static Test a=new Test("a"); pu
2012-04-09 20:26:56
1501
原创 C++变量的初始化方式
写这个问题是受微软今年实习生招聘的一道笔试题启发,上一篇博客好像提到了。之前还真没细想过这些事情。 首先把需要初始化的成员变量分为几类:一般变量(int)静态成员变量(static int)常量(const int )静态常量(static const int) 对应的初始化方式是:一般变量可以在初始化列表
2012-04-09 17:44:08
769
原创 关于const和指针的专题
const和指针的问题是笔试里经常出现的问题。这里综合一下各种不同的情况。 首先是几种const与指针组合的区分,比如:int b = 500; const int* a = &b; [1] int const *a = &b; [2] int* const a = &b; [3] const int* const a = &b; [4]
2012-04-07 23:20:05
635
原创 Apache地址重写的几个问题
Apache地址重写的配置分为两种方式,即通过httpd.conf配置和.htaccess文件。 首先要打开rewrite模块,windows下的配置是LoadModule rewrite_module modules/mod_rewrite.so httpd.conf的配置可以全局生效,也可以只配置一个目录,需要做的事情是在相应目录的D
2012-04-02 19:52:40
930
原创 解决Latex中Itemize距离过大的问题
默认的itemize存在行距过大的问题,大概是如下的样子: 用paralist包可以减少行距,代码如下\usepackage{paralist} \let\itemize\compactitem \let\enditemize\endcompactitem \let\enumerate\compactenum \let\endenumer
2012-04-01 10:48:24
11079
原创 发布VIM缓冲区切换插件buf_it升级版
VIM默认使用的过程中有一个重要的问题,就是打开多个文件的时候无法可视化看到打开的文件,并在这些文件中切换。MiniBufExplorer是一个常用的buffer切换插件,但是这个插件在Windows下使用的时候有许多问题,同时也太繁琐。buf_it[1]则实现了轻量的buffer管理,但是buf_it同样在windows下有许多问题,而buf_it的退出机制也会出现只想关闭一个文件确关闭了整个v
2012-04-01 10:46:55
1618
1
原创 Doxygen几个小问题,mark一下
首先是在Visual Assist X中的配置,在Snippet Editor窗口修改一下file header的snippet和Refactor Document Method的snippet. 设置分别如下file header/** * @file $FILE_BASE$.$FILE_EXT$ * @Synopsis
2012-03-31 22:35:20
802
原创 圆周率节快乐
圆周率节快乐! 圆周率3000位3.1415926535 8979323846 2643383279 5028841971 6939937510 5820974944 5923078164 0628620899 8628034825 3421170679 8214808651 3282306647 0938446095 5058223172 5359408128 4811174502
2010-03-14 14:40:00
1189
3
原创 十六进制编辑器
调试一个文件输出函数的时候发现是乱码,立马想到查看二进制,发觉十六进制编辑器是太有用的一个东西了并且写c++的人一个明显的习惯是用指针管理一块空间,这样编译器会把空间申请在堆上,效率更高,并且可以申请更大的内存.但是除了需要防止溢出和释放内存外,调试的时候也无法像数组那样在VS里很明显的看到内容,这样我们可以用如下代码把它打印到文件,然后在文件中用WinHex查看,很方便CFile c
2010-01-13 22:18:00
1407
原创 文件查找(CFileFind)
示例代码如下:注意:第一次找到的是. 表示本目录, 第二次找到的是.. 表示上机目录,然后才找相应的文件和文件夹,按名称排序返回void BrowseFile(CString strFile ){/ CFileFind ff; CString szDir = strFile; if(szDir.Right(1) != "//") szDir += "/
2010-01-13 13:20:00
1124
1
原创 STL set 复杂类型的操作
以前用set的时候总是小打小闹,参数类型基本是string,int,后来遇到需要用类和结构体做参数的,如下所示:class CStudent{public : int nStudentID; int nAge;public : //缺省构造函数——通常为空 CStudent() { } // 完整的构造函数 CStudent(int nSID, int nA
2010-01-13 10:18:00
769
原创 关于STL中几个比较费解的参数类型
其实也没搞太懂,希望有人能给详细解释一下。首先是_Iter,比如: set::insert(_Iter _First,_Iter _Last); _Iter的解释是可以转换为指针类型的....反正指针确实是可以的,常量是不行的... 其次是算法库里常见的一种类型:_InIt 比如find(_InIt _First,_InIt _Last,const
2009-12-03 17:09:00
543
原创 总结:string,char*,CString,int,WCHAR*之间的相互转换:
---------------------------按我的条理整理的,直接可以赋值的写在最后,其他的方法都是在此基础上得来的---------------------------- 以下用pcstr表示const char*(LPCTSTR),pstr表示char*(LPSTR),用cstr表示Cstring,用str表示string,i表示intstring转char*1.pcs
2009-11-29 22:46:00
928
原创 两道算法题
第一道是百度的一道面试题:一个链表,不知道长度,如何在一次遍历(O(n)复杂度)中等概率的取出一个元素?提供随机数函数,随机数函数的复杂度可以看做O(1) 第二道是本校的保研面试题:如何在常数空间复杂度的条件下,判断一个链表是不是有环(单向链表,只有一个头结点)?
2009-11-15 20:58:00
601
原创 telnet发邮件
telnet smtp.163.com 25 //登陆 smtp.163.com 端口号为 25Trying 202.108.44.205...Connected to smtp.163.com (202.108.44.205).Escape character is ^].220 163.com Coremail SMTP(Anti Spam) SystemHE
2009-11-14 21:03:00
989
原创 用PHP实现POP3邮件的收取(转载)
用PHP实现POP3邮件的收取(一)作者:陈俊清 发文时间:2002.03.06本文简要说明了通过POP3协议收取邮件、MIME邮件的解码的原理;针对收取和MIME解码,提供了两个实用的PHP类,并提供了使用的样例。分为邮件收取、MIME解码两个部分。这里我们先向您介绍邮件的收取,解码部分会在以后的文章中为各位详细的介绍,敬请关
2009-11-14 20:08:00
1093
原创 怎样接收电子邮件(POP3协议简介)(转载,写的很简洁)
在Internet,POP3(PostOfficeProtocol3)协议通常被用来接收电子邮件。这个协议很容易学,因为它只包含12个命令(其中有3个你完全可以忽略它们的存在)。这些命令被客户端计算机用来发送给远程服务器。反过来,服务器返回给客户端计算机两个回应代码。如果你还没有看本站另一篇文章-“WinsockTerminal示例程序”的话,请先阅读那篇文章,因为你需要那个程序来做实验。运行示例
2009-11-14 19:58:00
1039
转载 通过批处理调用FTP自动下载文件
用命令如何把自己电脑上的文件上传到被入侵的电脑上呢。方法有很多。用ftp是个不错的选择。方法如下echo open 你的ftpip >ftp.txtecho user >>ftp.txtecho password>>ftp.txtecho get test.exe >>ftp.txtecho bye >>ftp.txtftp -s:ftp.txtdelftp.t
2009-11-07 19:50:00
1977
原创 Acer Travelmate T3290笔记本拆机指南
中午闲来无事,把永哥的笔记本拆了(Acer Travelmate某款,很老的机器了)。整个过程有惊无险,也没拍照片,大体说下拆机流程吧,如果有人要拆该系笔记本可以参考。 先卸电池。拿掉诸如读卡器盖,pcmica盖之类无关的东西。然后拆掉后盖的所有螺丝,貌似会有两个跟其他不一样的,一个在中间,一个在右下角。拆完所有螺丝之后,拿掉硬盘盖,这时能看到一个硬盘的保护架,貌似六个
2009-11-07 13:48:00
3425
转载 关于PC套件显示红外连接出现问题而导致连接不上的解决方案(zz)
感动啊......转载一下,感谢作者 最精看到很多机油出现《PC套件红外出现问题,导致手机不能用数据线与电脑连接上》每次打开PC套件后点击“单击此处可连接手机”之后就出现一个提示框,里面写着---------------------------------------------------------------------------------------------------
2009-10-30 13:13:00
1631
4
转载 电子邮件的工作原理(图)
电子邮件与普通邮件有类似的地方,发信者注明收件人的姓名与地址(即邮件地址),发送方服务器把邮件传到收件方服务器,收件方服务器再把邮件发到收件人的邮箱中。如下图所示: 更进一步的解释涉及到以下几个概念: MUA -- Mail User Agent, 邮件用户代理,帮助用户读写邮件; MTA -- Mail Transport Agent, 邮件传输代
2009-10-27 09:34:00
4551
转载 memset用法详解(转载,删了些冗余的)
memest原型 void *memset(void *s, int c, size_t n); memset:作用是在一段内存块中填充某个给定的值,它对较大的结构体或数组进行清零操作的一种最快方法。 常见的三种错误第一: 搞反了c 和 n的位置. 一定要记住 如果要把一个char a[20]清零, 一定是 memset(a, 0, 20)
2009-10-26 16:22:00
951
原创 webclient很好很强大
提供向 URI 标识的资源发送数据和从 URI 标识的资源接收数据的公共方法。下表列出了由 WebClient 类型公开的成员。 公共构造函数 名称 说明 WebClient 初始化 WebClient 类的新实例。 页首 公共属性 (请参见 受保护的属性 ) 名称 说明 BaseAddress 获取或设置 WebClient 发出请求的基 URI。
2009-10-23 15:20:00
5194
原创 关于IUser用户的权限设置
问题源自一个错误提示:Operation Must Use an Updateable Query特别感谢微软的帮助和支持http://support.microsoft.com/kb/175168/zh-cn 但是写的不是很清楚附加感谢小晋http://blog.sina.com.cn/s/blog_4a65efd10100063i.html可以作为解决方案的
2009-10-23 15:20:00
4980
原创 There is already an open DataReader associated ……
遇到一个问题,这是问题描述,就是一个错误信息I have a rather large ASP-NET-2.0 project that Ive been developing for some time. Im using System.Data.Common classes for all of my data access, and SQL-2005 as my provider
2009-10-23 15:19:00
4177
原创 sqlcmd不能远程连接问题及解决方案(转)
在Windows 2003 sp1服务器上缺省安装 MS SQL Server 2005 简体中文企业版,在连接服务器时显示“不允许远程连接”。具体显示如下:(xxxxxsql为服务器名,在本地操作)C:/Documents and Settings/Administrator>sqlcmd -S xxxxxsqlHResult 0x2,级别 16,状态 1命名管道提供程序: 无法打开与
2009-10-23 15:18:00
2605
原创 SQL语法用like %或in时Parameters要怎么用才能避免SQL Injection的问题
原文地址:http://tw.myblog.yahoo.com/jeff-yeh/article?mid=603&prev=605&next=597 本来是繁体,让我转成简体了,如下 很多人应该都经历过一段T-SQL的学习成长路程,最多人最常用的就是直接把使用者输入的值,直接组到查询字符串里. 例如 : string strCmd="select
2009-10-23 15:16:00
4048
原创 汇编传指针
写接口实验程序,想写个函数,函数里读入一个数字,存到内存一个变量里,传了变量的偏移值进去,函数里怎么也写不进内存,调了很长时间后才发现mov [bp+4],ax是不对的,[bp+4]只取出了地址,想在写进去还要再寻一次值,我觉得一般的办法就是寄存器间接寻址了,加一条:MOV SI,[BP+4]MOV [SI],AX这里寄存器只能用BX,BP,SI,DI,对32位汇编可以使用
2009-10-23 15:14:00
939
原创 HelloWorld的强大作用
本文向你展示HelloWorld的强大作用 首先新建一个ASP.NET web服务项目,在自动生成的Service类里输入如下代码 using System;using System.Web;using System.Web.Services;using System.Web.Services.Protocols;[WebService(Namespace = "http:
2009-10-23 15:14:00
768
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人