c/c++
HKjinzhao
My name is HKjinzhao——"还看今朝"的拼音缩写
数风流人物,还看今朝——打造HKjinzhao品牌
展开
-
关于strlcpy
建议使用GNU的strlcpy。它们比较安全,在中有包括。见“strcpy ,strncpy ,strlcpy地用法.html”。原创 2009-01-28 21:57:00 · 994 阅读 · 0 评论 -
C++函数的默认参数
之前一直没注意,C++函数的默认参数必须放在函数的声明中,而函数的定义处是不能写默认参数。原创 2009-02-04 19:03:00 · 884 阅读 · 0 评论 -
关于c++的静态数据(函数)成员的理解
c++的静态数据(函数)成员属于类(包括对象)所有,所以可以直接用类名来访问也可以用对象名来访问。静态数据成员的定义/初始化必须在放在类之外,注意,类中是对静态数据成员进行声明而已,不是定义。如例子 c++静态成员小结,c++,static原创 2009-01-28 21:49:00 · 705 阅读 · 0 评论 -
在C语言编程中常遇到的几个问题
------------以下是整理以前在C语言编程中遇到的问题------------------1、C语言中,连接符/后面不能有空格。C语言中,连接符/后面不能有空格。2、注意局部变量的生命周期,特别是指针变量作为函数实参时。3、注意常量(指针、数据常量)是不允许修改的,如function("ADC0//0",(void *)100); 设原形为function(char *str,原创 2009-01-28 21:33:00 · 3179 阅读 · 0 评论 -
关于字符串中的""与NULL
char *str1=NULL;与char *str2=””;不一样:str1地址为0,没有分配空间;而str2分配空间,得到””的字符串(””是只包括’/0’的字符串),地址不为空。所以判断是否为空时,这两种情况都要考虑到。原创 2009-01-28 21:51:00 · 653 阅读 · 0 评论 -
关于flush
flush(stdin)刷新标准输入缓冲区,把输入缓冲区里的东西丢弃;fflush(stdout)刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上。它们包括在stdio.h原创 2009-01-28 21:30:00 · 829 阅读 · 0 评论 -
头文件的习惯写法及结构分布
头文件的习惯写法及结构分布,这只是个人建议,如果你不喜欢就不采用就行了。如下:模块中的头文件命名与源文件命名相同,如student.cxx,student.h模块中的头文件不包括任何其它头文件,如student.h中不包括其它头文件(teacher.h),需要用到其它头文件的,则包括在源文件中,如student.cxx包括头文件teacher.h主程序的头文件包括任何需要用到的头文原创 2009-01-28 21:09:00 · 1007 阅读 · 0 评论 -
关于c++ const成员函数
const 成员函数有时候要在const 成员函数中调用非const 成员函数,怎么办?当然有不少办法,个人觉得,最简单的方法可以这样:写一个全局函数,非const 成员函数的类指针作为参数,然后在这个全局函数中调用想要调用的非const 成员函数。如,static void get_xxx(Student *s){s->get_xxx();}const 成员函数的更多介绍原创 2009-02-02 19:24:00 · 960 阅读 · 0 评论 -
关于sizeof与strlen
注意:获取字符数组长度请使用sizeof—可以获得数组定义时的长度,而不是strlen;字符指针则可能不能使用sizeof,而用strlen原创 2009-01-28 21:55:00 · 653 阅读 · 0 评论 -
关于realloc
realloc 可以对给定的指针所指的空间进行扩大或者缩小,无论是扩张或是缩小,原有内存的中内容将保持不变。当然,对于缩小,则被缩小的那一部分的内容会丢失。realloc 并不保证调整后的内存空间和原来的内存空间保持同一内存地址。相反,realloc 返回的指针很可能指向一个新的地址。所以,在代码中,我们必须将realloc返回的值,重新赋值给 p。原创 2009-01-28 21:53:00 · 866 阅读 · 0 评论 -
linux中常用C/C++一些头文件的作用
1、 一些头文件的作用::ANSI C。提供断言,assert(表达式):GCC。GTK,GNOME的基础库,提供很多有用的函数,如有数据结构操作函数。使用glib只需要包含:GCC。文件夹操作函数。struct dirent,struct DIR,opendir(),closedir(),readdir(),readdir64()等:ANSI C。字符测试函数。isdigit(),islowe原创 2009-01-28 21:40:00 · 1944 阅读 · 0 评论 -
C++中的virtual函数在继承的类中需要实现
注意:C++中的virtual函数在继承的类中需要实现,如有些虚构函数是virtual,需要实现,不能~aa();这样只声明不实现。否则一般会出错:undefined reference to vtable for。参考:链接器linker需要将虚函数表vtable 放入某个object file,但是linker无法找到正确的object文件。这个错误常见于刚刚创建一系列有继承关系的clas原创 2009-01-28 21:31:00 · 1004 阅读 · 0 评论 -
关于C++中extern "C"{}
简单地说,就是在C++中调到C语言程序,而extern "C"{}里面的C程序是用C编译器进行编译、链接的,就这么简单,详细的可参考以下文章:C++中extern “C”含义深层探索http://blog.csdn.net/wfwd/archive/2006/05/30/763734.aspx原创 2009-01-28 21:28:00 · 635 阅读 · 0 评论 -
注意函数/变量的声明与定义
有时候容易看错,把变量的声明看作是定义。extern in tmp;//变量的声明(非定义)int tmp;//变量的定义int fun(){}//函数的定义int fun();//函数的声明原创 2009-01-28 20:52:00 · 720 阅读 · 0 评论 -
关于sizeof()与strlen()
sizeof()和strlen()很常见,实际上sizeof是运算符,可以不用();strlen()是函数很长一段时间没用字符数组,今儿发现偶的strlen()用错了。因此,把sizeof()和strlen()的区别总结一下(1)、sizeof:szieof()运算符是用来计算某种类型或数据所占的字节个数。sizeof是一个物理层面的操作符,通常在编译期间确定,得到的是一个对象/类型在栈上的投影大原创 2009-03-09 22:13:00 · 1084 阅读 · 0 评论