- 博客(50)
- 资源 (14)
- 收藏
- 关注
转载 如何处理C++构造函数中的错误——兼谈不同语言的错误处理
用C++写代码的时候总是避免不了处理错误,一般来说有两种方式,通过函数的返回值或者抛出异常。C语言的错误处理一律是通过函数的返回值来判断的,一般是返回0、NULL或者-1表示错误,或者直接返回错误代码,具体是哪种方式没有统一的规定,各种API也各有各的偏好。譬如fopen函数,当成功时返回文件指针,失败时返回NULL,而POSIX标准的open函数则在成功时返回0或者正数,失败时返回-1,然后需要
2014-08-30 16:16:30 1042
转载 闲话函数式变成与OOP
函数式编程扫盲篇1. 概论在过去的近十年的时间里,面向对象编程大行其道。以至于在大学的教育里,老师也只会教给我们两种编程模型,面向过程和面向对象。孰不知,在面向对象产生之前,在面向对象思想产生之前,函数式编程已经有了数十年的历史。那么,接下来,就让我们回顾这个古老又现代的编程模型,让我们看看究竟是什么魔力将这个概念,将这个古老的概念,在21世纪的今天再次拉入了我们的
2014-08-30 15:20:39 784
转载 C++最快的读取文件的方案(scanf,cin(及取消sync),fread)的详细对比
竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急。难道C++真的低Pascal一等吗?答案是不言而喻的。一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中很不错,但
2014-08-30 14:45:26 5679
转载 网站开发中常见的编码和乱码问题的解决
大家在做网页的时候也许会发现,辛辛苦苦写好的代码,在浏览器中预览时却显示一大堆乱码,这个时候开始头痛了,怎么解决呢,如果去网上搜索的话,一大堆关于编码的知识弄得越来越糊涂,回头一看代码写的没错啊,但是为什么呢?其实本人也是遇到了这个问题,然后研究了一段时间,所以现在分享出来,希望给大家一个清晰的思路,然后在这个基础之上放心做网站,本文简单介绍了UTF-8编码和gb2312编码的基本区别,然后通过两
2014-08-27 19:14:58 1152
原创 解决浏览器抛出乱码,(HTML、PHP等的乱码问题)
用EditPlus写html页面的时候,发现设置为UTF-8的时候仍然出现了乱码,这是一个很奇怪的问题,而且我完全考虑了浏览器的解析问题,将title放在了了meta标签之后,之后突然想起页面保存时候的编码问题,在保存页面的时候EditPlus默认的是ANSI的编码方式,而不是UTF-8。所以在保存页面的时候注意选择编码方式为UTF-8即可。如果要修改EditPlus默认的编码方式,可
2014-08-27 18:45:19 4818
原创 VM 虚拟机网络配置
虚拟机有网络的,一共有四种模式。分别是1:bridge:桥接,直接和真实网卡相连。如果你要让虚拟机也要上网,就必须选这项,并且要配置和真实网卡在同一网段的IP地址。2:host-only: 仅主机, 假设,你的主机没有网卡,或者网卡坏了,线没插,总之吧,真机网卡不能用,但是现在还需要虚拟机和真机通讯,此时就可以选择这项,因为在安装虚拟机的时候,虚拟机软件会自动的为系统添加这块虚拟网卡。3.
2014-08-26 23:00:09 1975
转载 C/C++ Linux 程序员必须了解的 10 个工具
C/C++ Linux程序员必须了解的10个工具文章转载自:开源中国社区 [http://www.oschina.net]本文标题:C/C++ Linux 程序员必须了解的 10 个工具本文地址:http://www.oschina.net/news/32307/10-things-c-c-linux-programmer-must-know想成为 Linux 下专业的 C
2014-08-19 21:36:32 803
转载 Git的安装与使用
http://www.cnblogs.com/chenkai/archive/2012/01/11/2319775.html
2014-08-19 21:35:42 6700
转载 git指南目录
git指南目录发表回复蓝色表示未阅读,棕色表示阅读过,绿色表示阅读过但不太理解1. 起步1.1 关于版本控制1.2 Git 简史1.3 Git 基础1.4 安装 Git1.5 初次运行 Git 前的配置1.6 获取帮助1.7 小结2. Git 基础2.1 取得项目的 Git 仓库
2014-08-19 21:28:11 681
原创 关系数据库的事务隔离、锁定与并发控制
事务隔离(Isolation),指的是在数据库系统中并发事务(Transaction)之间的可见性,以及如何相互影响的定义。事务隔离是ACID的四个特性(原子性、一致性、隔离性、持久性)之一。在ANSI/ISO的SQL标准中,定义了四个事务隔离级别,分别用于不同的场合。在传统的数据库系统的实现中,一般实现不同等级的隔离性的方法是使用锁定(lock),根据具体需求可细分为读取锁(read loc
2014-08-17 14:35:07 832
转载 编码自动识别工具 uchardet
最近在给OpenCC做图形界面,遇到一个问题:OpenCC默认只能转换utf-8文本,其他编码像GB18030,BIG5只能转换成utf-8以后,才能用OpenCC转换。这个问题说大不大,说小也不小。我完全可以增加一个选项,在打开的时候让用户选择文本编码,然后再转换就行了,但这却给用户非常糟糕的体验,因为很多非专业用户根本不知道什么是文本编码,更别说辨别了。GB18030/BIG5硬要用utf-8
2014-08-17 14:01:22 3303
转载 HTTP协议头部与Keep-Alive模式详解
1、什么是Keep-Alive模式?我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能
2014-08-17 13:58:15 798
转载 yum与apt命令比较,yum安装出现No package vim available解决办法
TaskRed Hat/FedoraUbuntu/DebianAdding, Removing and Upgrading PackagesRefresh list of available packagesYum refreshes each time it’s usedapt-get updateInstall a package from
2014-08-17 13:26:52 11028
原创 二叉查找树(二叉排序树)的详细实现,以及随机平衡二叉查找树Treap的分析与应用
这是一篇两年前写的东西,自我感觉还是相当不错的Treap教程。正好期末信息科学技术概论课要求交一个论文,就把这个东西修改了一下交了,顺便也发到这里吧。随机平衡二叉查找树Treap的分析与应用
2014-08-17 13:07:00 1286
转载 基于统计语言模型的拼音输入法
这是我离散数学课的大作业,用图论算法解决某个复杂的问题,我选的题目是基于统计语言模型的拼音输入法。通俗地讲,就是实现一个支持智能组句的拼音输入法。注意是智能组句,不是智能组词,组词其实就是查词典,哪怕是人也是这么做的,只不是这部词典在大脑中而已,否则就是“造词”了。而电脑组句的方法就和人有很大区别了,因为让电脑理解一个句子的结构是极端困难的,尤其是作为分析语的中文,所以说这里面蕴含著许多难题。说到
2014-08-17 12:58:54 3324 1
原创 Linux下实现自动设置SSH代理
SSH的巨大价值体现在能够配置为代理服务器上。不像在Windows下每次还需要手动登录设置,Linux有很好的工具链能够实现自动设置SSH代理,就是expect和ssh的联合使用,再加上proxychains,任何程序都可以享用代理了,在此我简单介绍一下。首先要安装expect和openssh,如果没有,Ubuntu下输入apt-get install expect openssh-clien
2014-08-17 11:10:36 3521
转载 漢字簡化得不償失
聲明:這是一部有版權的書,但由於內容不符合「相關部門」的「相關法規」,無法在中國大陸出版,故作者將其pdf版本散播到網上,以供諸君參閱。點此下載漢字簡化得不償失——彭小明目錄序 .....................................................................章詒和 31. 實驗繁簡兩體的比薩斜塔............
2014-08-17 10:25:34 968
转载 Vakuum开发笔记01 开天辟地
1.缘起先驱——COGS早在2008年,我自学PHP后开发了COGS,并成功用于学校内部的OJ,ruvtex。也曾经对外开放过,但是由于学校网络不稳定,后来一直连不上了。我还把COGS推荐给了OOJ,只是直到现在都过于冷清。随着COGS功能不断完善,体系越来越庞大,Bug也非常多。限于当时水平,架构非常混乱,以至于到无法继续维护的地步,于是我遗憾的宣布了COGS的死亡。随后我又萌生了一个重
2014-08-17 10:20:16 825
转载 Vakuum开发笔记02 核心与安全问题
3.judger核心设计评测系统最重要部分就是评测核心了(judger)。核心judger负责了编译、执行、检查三大部分,也就是评测系统的灵魂所在,因此judger设计的好坏,直接影响到整个评测系统的整体水准。judger的设计要考虑到几个方面,首先是对安全性要求很高。别忘了,这是一个在线评测系统,任何人都可以提交任何代码,并在服务器上执行,这意味着给骇客们提供了方便之门。骇客们(注意,不是黑
2014-08-17 10:04:35 754
原创 FTP传输一定要注意使用二进制模式
一个问题困扰了我一下午,刚刚才解决。我要上传一个PHP程序,其中用了sqlite数据库,没想到上传完以后无论如何也不能用,总是数据库查询失败。我登录上SSH,把几乎每个php都调试了一遍,还是没法解决。最终请来T.G.大牛帮助,才发现服务器上的sqlite数据库与本地的MD5值不一样。于是我又用Filezilla吧数据库上传了一遍,没想到的是,MD5值仍然和本地的文件不同。这时我突然想起了以前用g
2014-08-16 21:35:24 7886
转载 文件(数据)读取速度
在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式。相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据。还有人说Pascal的read语句的速度是C/C++中scanf比不上的,C++选手只能干着急。难道C++真的低Pascal一等吗?答案是不言而喻的。一个进阶的方法是把数据一下子读进来,然后再转化字符串,这种方法传说中很不错,
2014-08-16 21:33:01 1456
转载 开源的在线评测系统——Vakuum
项目地址 http://code.google.com/p/vakuum-oj/简介Vakuum是一个基于Linux+PHP的在线评测系统(Online Judge),主要面向信息学竞赛(OI)和ACM/ICPC。功能在线评测用户提交程序代码,在线编译,执行测试数据,对其评判并返回结果。支持自定义检查器(Speciel Judge)。支持特殊类型题目(代码检查、交互
2014-08-16 21:32:13 4358
转载 Linux C语言编程学习笔记 (1)进程控制入门
想进行Linux系统开发已经很久了,一直没有付诸实践。今日终于开始学习Linux下的C语言编程,研究一天,终于大概弄明白了Linux系统进程管理的一些基本概念和编程方法,总结下来以方便大家学习和自己实践。进程系统Linux是个多任务多用户的操作系统,系统直接管理的每个任务的最小单位,就是进程(process)。每个进程都有一个惟一的标识符pid,不同的进程pid不相同,在Shell下输
2014-08-16 21:25:15 1199
转载 大学启示录I 浅谈大学生的学习与就业
讲述了大学生就业难以及大学教育体制僵化的问题,我看后也有一些感触,因为我也是从大学过来的,我也经历过那样的教育体制,我觉得,大学生面对未来的工作和就业,不应该怨天尤人,大学并不是技校,大学生所学的课程永远也不可能满足目前企业公司的要求,比如计算机语言,现在大学教授Turbo C++,虽然已经过时,企业里都在用php,.net,Java,Python,ruby这样的,但技术是在不断升级的,依靠学校来
2014-08-16 21:19:40 3005 1
转载 NOI经验谈
对于NOI来说,甚至比硬实力更加重要。我觉得一场考试这么几件事要做:看题,选题,分析,编码,调试,测试,骗分。1、看题拿到试卷以后的第一件事就是看题。看题不是看小说,要仔细阅读。当然,阅读也不宜过慢,刻意制造紧张的气氛会极大地影响发挥。NOI的题目没有赤裸裸的,都是精心包装过的,阅读就是解开这个包装的过程。首先从题目名看起,认真阅读问题背景,要明白题目在表达什么意思。一边阅读,一边在脑
2014-08-16 21:13:18 2976
转载 有向图强连通分量的Tarjan算法和Kosaraju算法
[有向图强连通分量]在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是
2014-08-16 20:31:58 2134
转载 C/C++的64为长整型数的表示
在C/C++中,64为整型一直是一种没有确定规范的数据类型。现今主流的编译器中,对64为整型的支持也是标准不一,形态各异。一般来说,64位整型的定义方式有long long和__int64两种(VC还支持_int64),而输出到标准输出方式有printf("%lld",a),printf("%I64d",a),和cout 本文讨论的是五种常用的C/C++编译器对64位整型的支持,这五种编译器分
2014-08-16 20:27:26 11105
转载 二分图带权匹配 KM算法与费用流模型建立
[二分图带权匹配与最佳匹配]什么是二分图的带权匹配?二分图的带权匹配就是求出一个匹配集合,使得集合中边的权值之和最大或最小。而二分图的最佳匹配则一定为完备匹配,在此基础上,才要求匹配的边权值之和最大或最小。二分图的带权匹配与最佳匹配不等价,也不互相包含。我们可以使用KM算法实现求二分图的最佳匹配。方法我不再赘述,可以参考tianyi的讲解。KM算法可以实现为O(N^3)。[KM算法的几
2014-08-16 20:13:50 878
转载 C++ string详解
C++ string 详解任何人对本文进行引用都要标明作者是Nicolai M.Josuttis///////////////////////////////////////////////////////////////////////////////////C++ 语言是个十分优秀的语言,但优秀并不表示完美。还是有许多人不愿意使用C或者C++,为什么?原因众多,其中之一就是C/C+
2014-08-15 21:21:59 2411
原创 treap(树堆)
一棵treap是一棵修改了结点顺序的二叉查找树,如图,显示一个例子,通常树内的每个结点x都有一个关键字值key[x],另外,还要为结点分配priority[x],它是一个独立选取的随机数。假设所有的优先级是不同的,所有的关键字也是不同的。treap的结点排列成让关键字遵循二叉查找树性质,并且优先级遵循最小堆顺序性质:1.如果v是u的左孩子,则key[v] 2.如果v是u的右孩子,则ke
2014-08-15 21:14:54 678
转载 程序设计语言的变革
Delphi Language的诞生2003年11月,Borland公司正式发布了Delphi的最新版 本:Delphi 8 for Microsoft .NET Framework。如它的名字所揭示的,Delphi 8不再支持Win32平台下的开发,而是完全基于Microsoft .NET Framework。毫无疑问,这为Delphi带来了革命性的变化,而让一个计算机编程语言的爱好者最感兴
2014-08-15 21:05:43 780 1
原创 linux VIM 下的语法高亮及自动缩进
显示行号 set number自动缩进有两个选项 set autoindent set cindentautoindent 就是自动缩进的意思,当你在输入状态用回车键插入一个新行,或者在 normal 状态用 o 或者 O 插入一个新行时,autoindent 会自动地将当前行的缩进拷贝到新行,也就是”自动对齐”,当然了,如果你在新行没有输入任何字符,那么这个缩进将自动删除。cinde
2014-08-10 19:53:41 1012
转载 图论,匈牙利算法
匈牙利算法链接: USACO 4.2.2 The Perfect Stall 完美的牛栏 stall4这是一种用增广路求二分图最大匹配的算法。它由匈牙利数学家Edmonds于1965年提出,因而得名。 定义 未盖点:设Vi是图G的一个顶点,如果Vi 不与任意一条属于匹配M的边相关联,就称Vi 是一个未盖点。交错路:设P是图G的一条路,如果P的任意两条相邻的边一定是一条属于M
2014-08-10 18:46:13 842
原创 If you sleep now,you will have a dream. If you study now,you will achieve your dream.
If you sleep now,you will have a dream. If you study now,you will achieve your dream. 我开始思考,What's my dream?
2014-08-10 18:36:18 1079
转载 MBTI 性格测试
测试在这里我由原来的"ISTJ(内向 实感 思维 判断)"变成了现在的"INTJ(内向 直觉 思维 判断)" 变得相信直觉了?在实现自己的想法和达成自己的目标时有创新的想法和非凡的动力。能很快洞察到外界事物间的规律并形成长期的远景计划。一旦决定做一件事就会开始规划并直到完成为止。多疑、独立,对于自己和他人能力和表现的要 求都非常高。 INTJ型的人是完美主义者。他们强烈地要求个人自由和能力
2014-08-10 18:32:32 1798
转载 C++ 随机数rand()和srand()
标准函数库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h中定义的一个整数,它与系统有关。 例如在我的机器上,RAND_MAX=32767。可以使用 printf("%ld",RAND_MAX);查看。调用rand()可以生成一个随机数,但我们往往需要的是一个有上下界的随机数。例如 要产生一个[a,b]之间的随机整数xx = ra
2014-08-10 18:31:05 1786
原创 C/C++ 下的void main()
很多人甚至市面上的一些书籍,都使用了void main( ),其实这是错误的。C/C++ 中从来没有定义过void main( )。C++之 父 Bjarne Stroustrup在他的主页上的 FAQ中明确地写 着 The definition void main( ) { / ... / } is not and never has been C++, nor has it even been
2014-08-10 16:06:46 1893
原创 C语言中常用的字符串操作函数
程序开头要声明#include 函数名: stpcpy功 能: 拷贝一个字符串到另一个用 法: char *stpcpy(char *destin, char *source);程序例:#include #include int main(void){ char string[10]; char *str1 = "abcdefghi"; stpcpy
2014-08-10 15:49:24 640
原创 NOIP 竞赛注意事项
程序习惯注意一、Linux与Windows的区别a) 大小写敏感i. 在Windows下,文件名大小写不敏感,例如A.PAS 与 a.pas 与 A.pas 与 a.PaS没有区别。ii. Linux视文件名为二进制数据,所以区分大小写。iii. 考试时一定要看清题目上要求,区别大小写。iv. Turbo Pascal生成的.pas 文件默认大写,Free Pascal
2014-08-08 15:40:14 4004
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人