C/C++
文章平均质量分 57
DyLan985
想在IT方面做点事,希望志同道合的朋友多多交流和指点
展开
-
正则表达式
正则表达式(英语:Regular Expression、regex或regexp,缩写为RE),也译为正规表示法、常规表示法,在计算机科学中,是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串。在很多文本编辑器或其他工具里,正则表达式通常被用来检索和/或替换那些符原创 2011-09-07 09:28:15 · 1167 阅读 · 0 评论 -
C中的static函数
当一个源程序由多个源文件组成时,C语言根据函数能否被其它源文件中的函数调用,将函数分为内部函数和外部函数。内部函数 (又称静态函数) 如果在一个源文件中定义的函数,只能被本文件中的函数调用,而不能被同一程序其它文件中的函数调用,这种函数称为内部函数。 定义一个内部函数,只需在函数类型前再加一个“static”关键字即可,如下所示:原创 2012-10-31 20:55:55 · 843 阅读 · 0 评论 -
Static 作用详述
1.先来介绍它的第一条也是最重要的一条:隐藏 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c.下面是a.c的内容: char a = 'A'; // global variable void msg()原创 2012-10-02 13:54:48 · 664 阅读 · 0 评论 -
内联函数的作用和几点注意
内联函数的特点:一、关键字inline必须与函数定义体放在一起才能使函数成为内联,仅将inline放在函数声明前面不起任何作用。二、定义在类声明之中的成员函数将自动地成为内联函数。内联函数的作用:1. 替代宏,增加代码可读性。2. 提高代码执行效率。这点和宏的作用相同。原因在于,省略了函数参数压栈出栈和跳转指令了。3. 使用于部分特殊场合。例如,原创 2012-10-02 15:38:40 · 1845 阅读 · 0 评论 -
结构体和联合体
我们继续用反汇编的方法研究一下C语言的结构体:例 19.3. 研究结构体#include int main(int argc, char** argv){ struct { char a; short b; int c; char d; } s; s.a = 1; s.b = 2; s.c = 3; s.d = 4; printf("%u\原创 2012-04-07 10:25:16 · 789 阅读 · 0 评论 -
C运算符优先级
优先口决括号成员第一; //括号运算符[]() 成员运算符. ->全体单目第二; //所有的单目运算符比如++ -- +(正) -(负) 指针运算*&乘除余三,加减四; //这个"余"是指取余运算即%移位五,关系六; //移位运算符:> ,关系:> = 等于(与)不等排第七; //即== !=位与异或和位或; //这几个都是位运算: 位与(&)异或(^)位或(|)"三分转载 2012-01-13 10:32:57 · 635 阅读 · 0 评论 -
memset用法详解
1。void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。 2。例子 main(){ char *s="Golden Global View"; clrscr(); memset(s,'G',6);//貌似这里有点问题// printf("%s",s); getcha原创 2012-01-12 15:55:52 · 1078 阅读 · 0 评论 -
C语言中Static的作用详述
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)先来介绍它的第一条也是最重要的一条:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容: char a = 'A'; // global v原创 2011-12-17 09:05:00 · 845 阅读 · 0 评论 -
C++为什么要用虚函数
如果子类覆盖的父类的虚函数则父类的指针或引用实际指向子类的对象那通过该指针或引用调用虚函数时,则将调用子类的(虚)函数如果不是虚函数,则将调用父类的函数虚函数的优势在于当用指针调用虚函数的时候,即使是基类类型的指针,也会调用到派生类型的函数。 我们知道,用C++开发的时候,用来做基类的类的析构函数一般都是虚函数。可是,为什么要这样做呢?下面用一个小例子来说明: 有下面转载 2011-12-03 08:57:07 · 5021 阅读 · 1 评论 -
Ubuntu Linux系统下apt-get命令详解
整理了Ubuntu Linux操作系统下apt-get命令的详细说明,分享给大家。 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明、大小、版本等 sudo apt-get install package 安装包 sudo apt-ge原创 2011-12-01 10:17:23 · 684 阅读 · 0 评论 -
assert用法总结
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:#i原创 2011-11-30 14:41:38 · 2287 阅读 · 0 评论 -
解决使用CPicture类出现“error C2065: 'CArchiveStream' : undeclared identifier”的问题
追加头文件#include #include转载 2011-11-30 14:25:02 · 2658 阅读 · 0 评论 -
虚函数
定义 定义 定义虚函数的限制: (1)非类的成员函数不能定义为虚函数,类的成员函数中静态成员函数和构造函数也不能定义为虚函数,但可以将析构函数定义为虚函数。实际上,优秀的程序员常常把基类的析构函数定义为虚函数。因为,将基类的析构函数定义为虚函数后,当利用delete删除一个指向派生类定义的对象指针时,系统会调用相应的类的析构函数。转载 2011-11-30 12:14:30 · 1220 阅读 · 0 评论 -
重载函数
重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的函数同名,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同,也就是说用同一个运算符完成不同的运算功能。这就是重载函数。重载函数常用来实现功能类似而所处理的数据类型不同的问题。 两个重载函数必须在下列一个或两个方面有所区别: 1.、函数有不同参数。 2、函数有不转载 2011-11-30 11:20:34 · 1301 阅读 · 0 评论 -
C语言问题——int argc,char *argv[]的解析
#include main (int argc,char *argv[]) { int n=0,i; for(i=1;in=n*10+*argv[i]-'0'; printf("%d\n",n); }输入一下命令:tt 12 345 678原创 2011-08-21 17:08:07 · 913 阅读 · 0 评论 -
主题:钩子函数简析及实例
钩子函数、回调函数、注册函数,挂钩子这些我们代码中经常涉及到的东西,是否已经困扰你很久了?它们究竟是怎么回事,究竟怎么用?下面我来为你一一解答。什么是钩子函数?钩子函数也叫回调函数,是通过函数指针来实现的,那我们来看看什么是函数指针。首先看看以下例子:int *p;int a,b;我们可以让指针p先后指向a, b,这样,p就先后代表了不同变量的地原创 2014-09-17 11:41:12 · 15341 阅读 · 11 评论