c/c++
文章平均质量分 80
live_for_you
22222222
展开
-
c++中冒号(:)和双冒号(::)的用法
1.冒号(:)用法 (1)表示机构内位域的定义(即该变量占几个bit空间) typedef struct _XXX{ unsigned char a:4; unsigned char c; } ; XXX (2)构造函数后面的冒号起分割作用,是类给成员变量赋值的方法,初始化列表,更适用于成员变量的常量const型。 struct _XXX{ _XXX转载 2013-04-18 09:23:35 · 478 阅读 · 0 评论 -
c++构造函数详解(转)
c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。 c++类的构造函数详解 一、 构造函数是干什转载 2013-04-18 09:24:05 · 400 阅读 · 0 评论 -
C++拷贝构造函数(深拷贝,浅拷贝)
拷贝有两种:深拷贝,浅拷贝 当出现类的等号赋值时,会调用拷贝函数 在未定义显示拷贝构造函数的情况下,系统会调用默认的拷贝函数——即浅拷贝,它能够完成成员的一一复制。 当数据成员中没有指针时,浅拷贝是可行的。 但当数据成员中有指针时,如果采用简单的浅拷贝,则两类中的两个指针将指向同一个地址, 当对象快结束时,会调用两次析构函数,而导致指针悬挂现象。所以,这时,必须采用深转载 2013-04-17 19:36:39 · 581 阅读 · 0 评论 -
C语言中,static的作用?
在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。 (1)第一个作用:隐藏。 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。 为理解这句话,我举例来说明。 我们要同时编译两个源文件,一个是a.c,另一个是main.c。 下面是a.c的内容 #include增加这条语句 char a = ‘A‘转载 2013-04-18 09:25:42 · 466 阅读 · 0 评论 -
小功能实现
memcpy memmove区别和实现 memcpy与memmove的目的都是将N个字节的源内存地址的内容拷贝到目标内存地址中。 但当源内存和目标内存存在重叠时,memcpy会出现错误,而memmove能正确地实施拷贝,但这也增加了一点点开销。 memmove的处理措施: (1)当源内存的首地址等于目标内存的首地址时,不进行任何拷贝 (2)当源内存的首地址大于目标内存转载 2013-08-14 15:05:06 · 564 阅读 · 0 评论 -
GetMemory错误讲解(指针练习)
错误程序: void GetMemory( char *p ) { p = (char *) malloc( 100 ); } void Test( void ) { char *str = NULL; GetMemory( str ); strcpy( str, "hello world" ); printf( “%s”,str ); } 这个一个转载 2013-09-04 16:39:18 · 544 阅读 · 0 评论