C/C++
fangjuniceflame
这个作者很懒,什么都没留下…
展开
-
Makefile详解
概述——什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会转载 2009-07-25 09:15:00 · 236 阅读 · 0 评论 -
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 · 2467 阅读 · 0 评论 -
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 · 1803 阅读 · 0 评论 -
argv[argc]
argv[argc] 一定是 NULL如果你这里的 argv 是 main 的参数哪里越界了?本来就规定 argv 是一个长度为 (argc+1) 的数组,最后一项是 NULL转载 2009-08-21 15:52:00 · 360 阅读 · 0 评论 -
使用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 · 1390 阅读 · 0 评论 -
判断一个文件尾的空行
咋判断一个文件尾的空行? int empty_liens = 0;while (读一行) if (空行) ++empty_lines; else empty_lines = 0;原创 2009-08-10 19:17:00 · 533 阅读 · 0 评论 -
私有构造函数
class A { public: static A a; private: A();};//.cppA A::a;A::(){...}构造函数都私有了,为什么还能声明类对象a? 还有一直没明白,构造函数私有有啥用?仅仅为了防止建立类的实例?纯虚函数也可以啊。 发信人: goer (微笑的夏诺雅), 信区: CPlusPlus标 题原创 2009-08-12 10:50:00 · 2286 阅读 · 0 评论 -
N 皇后的递归解法
#include #include #include #define QUEENS 8 //!记录解的序号的全局变量。 int iCount = 0; //!记录皇后在各列上的放置位置的全局数组。 int Site[QUEENS];原创 2009-08-10 20:16:00 · 547 阅读 · 3 评论 -
模板推演(deduce)
模板函数定义template D func(const T& src){ ...}在使用时func(src)就可以通过编译了,为什么只要一个模板参数就可以了?第二个模板参数被默认成什么了?模板函数编译器在实例化的时候会进行deduce,但只能是对入参列表的参数类型进行deduce,对返回值的类型则deduce不了对于推演不了的参数则需要原创 2009-08-08 10:47:00 · 537 阅读 · 0 评论 -
文件复制
使用C++标准程序库的输入输出流(I/O Stream)复制文件,存在许多的方法, 方法一:逐个字符复制 #include std::ifstream input("in",ios::binary); std::ofstream output("out",ios::binary);转载 2009-08-10 10:55:00 · 359 阅读 · 0 评论 -
删除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 · 1183 阅读 · 0 评论 -
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 · 819 阅读 · 0 评论 -
写一个好函数,功能:求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 · 636 阅读 · 0 评论 -
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 · 425 阅读 · 0 评论