自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (2)
  • 收藏
  • 关注

转载 10亿浮点数求最大的一万个

 这两天在网上淘到一道笔试题目(注1),虽然真假未知,但的确是道好题,题目如下:从10亿个浮点数中找出最大的1万个。这是一道似易实难的题目,一般同学最容易中的陷阱就是没有重视这个“亿”字。因为有10亿个单精度浮点数元素的数组在32位平台上已经达到3.7GB之巨,在常见计算机平台(如Win32)上声明一个这样的数组将导致堆栈溢出。正确的解决方法是分治法,比如每次处理100万个数,然后再综合起来。不过

2009-10-14 22:44:00 1102 1

转载 Cool Code list

Cool Code listFrom WikiidJump to: navigation, searchHere is my collection of cute C and C++ tricks - I have tried to stick with code that is actually faster or more compact than the conven

2009-10-13 12:00:00 414

原创 C/C++实现循环移位

(a>30)  贴个Rotation.cpp://: C03:Rotation.cpp {O}// From Thinking in C++, 2nd Edition// Available at http://www.BruceEckel.com// (c) Bruce Eckel 1999// Copyright notice in Copyright.txt// Perform

2009-10-11 22:44:00 2440

转载 Windows下用C语言获取进程cpu使用率,内存使用,IO情况

/** @file* @brief 进程统计信息函数的声明* @author 张亚霏* @date 2009/05/03* @version 0.1**/#ifndef PROCESS_STAT_H#define PROCESS_STAT_H#ifdef __cplusplusextern "C" {#endif typedef long long           int64_t; t

2009-09-17 23:15:00 1760

转载 valgrind中文命令行帮助

名字:        valgrind是一个调试和剖析的程序工具集。 概要用法:        valgrind [[valgrind] [options]] [your-program] [[your-program-options]] 概述:        Valgrind是一个Linux下灵活的调试和剖析可执行工具。它由在软件层提供综合的        CPU内核,和一系列调试、剖析的工具组

2009-09-17 23:11:00 723

原创 vim fold

最近需要折叠, 于是找了一下。 其实手册里面有, 不过手册做的太好太详细的后果往往就是让人懒得看了。 写的东西超过五六屏以后, 感觉翻来翻去就不怎么方便了, 看起来也很混乱。 这个时候最好就能折叠起来。 VIM里面也有VS里面那样的折叠功能, 而且不需要用鼠标去点那个减号和加号。建立折叠:z的意思就是他的形状, 像一个折叠的东西, 折叠相关的命令都是z开头的, 新版本的拼写检查命令也有

2009-09-17 00:13:00 1538 1

转载 cscope 使用

在vim中,使用Cscope来快速定位函数的定义,查找函数的原型,很方便。在我Fedora8的机器中,已经默认安装了cscope这个程序。刚刚使用cscope,不是很熟悉,很多“先进的”功能留待以后慢慢挖掘。 这里先写一下vim中简单的使用cscope,以便能够在源代码中: 1. 快速切换至函数的定义。 2. 函数的声明. 3. 查找某个函数被使用的情况。首先,让vim支持cscope,在~/

2009-09-17 00:07:00 999

转载 VIM中不易发现的强劲功能

(1) 为什么别人的方法在我这里行不通?  估计这是最难回答的一个问题了。:-)  不过首先应该确定你的VIM版本是否足够新,功能是否完整。使用 :version 命令查看你  的VIM版本以及功能。一个常见的情况,如果你用的是RedHat系统,请确定安装了  vim-enhance的rpm包,否则将是不完整的VIM。  (2) 如何找到上次编辑的文件?  Ctrl+O (按两次)  (3) 如何

2009-09-17 00:04:00 450

转载 VIM中不易发现的强劲功能

在我最初使用Vim时,有些功能并不知道,等发现后真后悔自己干了那么久的体力活。  1. * (super star)  向下查找光标下(或附近)的。向上找用#。g*查找则不限制whole word。  2. C-R (magic insert)  在insert模式下,C-R (register) 插入register里的内容,一个有趣的reg是"=".  假设你想输入123K的具体字节数,不用打

2009-09-16 23:55:00 315

转载 argv[argc]

argv[argc] 一定是 NULL如果你这里的 argv 是 main 的参数哪里越界了?本来就规定 argv 是一个长度为 (argc+1) 的数组,最后一项是 NULL

2009-08-21 15:52:00 345

转载 使用Lex和Yacc开发C语言的编译器

(1) 从网站:http://www.lysator.liu.se/c/  下载C语言的语法文件:The ANSI C grammar (Yacc and Lex) (2) 编译词法文件: > lex c.l(3) 编译语法文件:> yacc -dv c.y说明:-d:产生头文件y.yab.h,-v:产生分析表y.output。针对else产生的移进规约冲突,采用了yacc的默认动作“移进”解决。

2009-08-19 21:44:00 1361

转载 c下创建临时文件mkstemp函数

int mkstemp(char *template);         mkstemp函数在系统中以唯一的文件名创建一个文件并打开,而且只有当前用户才能访问这个临时文件,并进行读、写操作。 mkstemp函数只有一个参数,这个参数是个以“XXXXXX”结尾的非空字符串。mkstemp函数会用随机产生的字符串替换“XXXXXX”,保证 了文件名的唯一性。         函数返回一个文件描述符,如

2009-08-18 22:00:00 869

原创 我的.vimrc文件

" An example for a vimrc file."" Maintainer:    Bram Moolenaar " Last change:    2008 Jul 02"" To use it, copy it to"     for Unix and OS/2:  ~/.vimrc"          for Amiga:  s:.vimrc" 

2009-08-17 15:39:00 514

原创 私有构造函数

 class A {  public:  static A a;  private:  A();};//.cppA  A::a;A::(){...}构造函数都私有了,为什么还能声明类对象a?    还有一直没明白,构造函数私有有啥用?仅仅为了防止建立类的实例?纯虚函数也可以啊。      发信人: goer (微笑的夏诺雅), 信区: CPlusPlus标  题

2009-08-12 10:50:00 2267

原创 N 皇后的递归解法

#include       #include       #include           #define   QUEENS   8         //!记录解的序号的全局变量。     int   iCount   =   0;         //!记录皇后在各列上的放置位置的全局数组。     int   Site[QUEENS];  

2009-08-10 20:16:00 531 3

原创 判断一个文件尾的空行

咋判断一个文件尾的空行?   int empty_liens = 0;while (读一行)  if (空行)    ++empty_lines;  else    empty_lines = 0;

2009-08-10 19:17:00 516

转载 文件复制

使用C++标准程序库的输入输出流(I/O   Stream)复制文件,存在许多的方法,         方法一:逐个字符复制     #include           std::ifstream   input("in",ios::binary);     std::ofstream   output("out",ios::binary);  

2009-08-10 10:55:00 339

原创 定义一个可指向类的非static但是const的函数的函数指针

 //例class A{public:    int func(int x) const;    int example();};int A::example(){    int (*p)(int x);    p = func; //error does not match    return 0;}//请问该如何定义一个p才能指向func呢?    发信人: dp2 (

2009-08-09 21:52:00 339

原创 模板推演(deduce)

模板函数定义template D func(const T& src){ ...}在使用时func(src)就可以通过编译了,为什么只要一个模板参数就可以了?第二个模板参数被默认成什么了?模板函数编译器在实例化的时候会进行deduce,但只能是对入参列表的参数类型进行deduce,对返回值的类型则deduce不了对于推演不了的参数则需要

2009-08-08 10:47:00 520

原创 删除C++代码注释的脚本

#!/bin/sh -ffunction del_comment_file(){ #C++模式注释的删除。 #Delete the line begins with // #首先删除//在行首的行 sed -i /^[ /t]*/////d $file #Delete the line ends with // #注意已经除去了 //在行首的情况,下面匹配除去URL的//部分,因为代码中有一

2009-08-08 00:34:00 1152

原创 写一个好函数,功能:求C风格字符串长度;要求:不调用其他函数,不使用变量

int len(char * p){  if( *p == 0 )    return 0;  return len(p+1) + 1;}     templateint StrLen(const char (&array)[N]){    return N;}int main(){    int val = StrLen("hello world");    cout  

2009-08-06 01:08:00 622

原创 copy and swap

effective c++里的 ,处理operator =的自我赋值class Widget{        void swap(Widget& rhs);//交换rhs和*this的数据        Widget& operator =(const Widget& rhs)        {               Widget temp(rhs);               swap(

2009-08-06 00:46:00 809

转载 回答“在校C++学生之困惑”的几个问题

问题一:“今天翻开《Thinking in C++》第二卷,傻眼,第一章就是异常,我最害怕的东东了。。往后翻,防御性编程。。运行时类型识别,设计模式……等太多的东西了……这些东西作为学生我们有必要深究吗”   1、如果是编程初学者,挑书要特别讲究。《Thinking in/ C++》不适合初学者。   2、异常、防御性编程、运行时类型识别,设计模式……这些都不是C++特有的,学习J

2009-07-27 13:09:00 505

转载 Makefile详解

概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会

2009-07-25 09:15:00 222

转载 开发人员一定要加入收藏夹的网站

http://www.gotapi.com/ 语言:英语 简介:HTML,CSS,XPATH,XSL,JAVASCRIPT等API的查询网站。http://www.w3schools.com/ 语言:英语 简介:W3C制定的标准诸如XML,HTML,XSL等等的在线学习教程。http://www.xml.org.cn/ 语言:中文 简介:可以说是XML的中国官方网吧。W3C标准的翻译组织与XML系

2009-07-24 23:02:00 309

转载 管道过滤器(Pipe-And-Filter)模式

按照《POSA(面向模式的软件架构)》里的说法,管道过滤器(Pipe-And-Filter)应该属于架构模式,因为它通常决定了一个系统的基本架构。管道过滤器和生产流水线类似,在生产流水线上,原材料在流水线上经一道一道的工序,最后形成某种有用的产品。在管道过滤器中,数据经过一个一个的过滤器,最后得到需要的数据。o 基本的管道过滤器:管道负责数据的传递,它把原始数据传递给第一个过滤

2009-07-23 23:45:00 5776

转载 2008 回顾:推荐几个技术 BLOG

年底了,推荐几个 BLOG。我的推荐标准:持续更新,在相关技术领域文章高质量,可能相对比较小众。希望能给这几位作者再带来一点订阅量,也让他们写就的东西有更多人受益。知道分子地址: http://hutuworm.blogspot.com/作者: Hutuworm Hutuworm 的 Blog。"沉浸于 Linux 系统管理十余年",文章有技术含量,

2009-07-22 18:53:00 418

转载 vim+ctags+taglist+cscope+cppcomplete+global

由于本人比较喜欢在终端状态下的vim,所以gvim下的扩展使用的不多。这里介绍的也是我简单的使用以上扩展的一点点体会。请大家指正。 emacs 不会用,也没有比较过拉。 1、大体感觉,(因为使用时间不长,不全面)总体使用的感觉定位查找类型定义基本可以用,但自动补全类型方面由于ctags的功能有限,感觉在大工程时,不一定很好用。大型程序一定要global的参与,它

2009-07-22 18:44:00 319

转载 VIM查找替换归纳总结

VIM中常用的替换模式总结。 1,简单替换表达式 替换命令可以在全文中用一个单词替换另一个单词: :%s/four/4/g   "%" 范围前缀表示在所有行中执行替换。最后的 "g" 标记表示替换行中的所有匹配点

2009-07-22 18:37:00 268

转载 高效率编辑器 VIM-操作篇(非常适合 VIM 新手)

虽然从很久前就开始用 VIM 了,但一直都是半调吊子,翻来覆去只用自己会的命令。最近为了提高书写代码的效率,还有 coding 时候的乐趣,又重新钻研了一下 VIM,发现了一篇很好的 VIM 入门的文章,原文是英文版的,我觉得非常适合 VIM 使用入门,所以翻译了过来。这里是简单的介绍了 VIM 的操作方式,并没有说为什么要用 VIM,如果你想知道答案可以去 Google,VIM 被誉为编辑器之神

2009-07-22 18:29:00 305

C++的设计与演化(中文)

C++作者讲述C++的演变与设计动机,为什么C++现在会是这样,会让你更加深刻的理解C++的结构。

2009-08-17

空空如也

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

TA关注的人

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