C/C++易错点
文章平均质量分 82
比不了就不比
这个作者很懒,什么都没留下…
展开
-
动态链接库和静态链接库的区别
平时总听人讲动态链接库、静态链接库、lib、dll、so等名词,一直搞不清楚这几者之间的区别以及各自的应用场合。后来上网仔细查了一下资料,终于搞清楚了,在这里整理一下先。动态链接库:动态链接库中包含了多个已经被编译、链接好的函数和数据资源,但并不包含函数的源码。动态链接库在windows下是.dll 文件,英文为Dynamic Link Library,在Linux下是.so文件。如果在你转载 2014-09-09 17:13:43 · 687 阅读 · 0 评论 -
C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
一、本文目的与说明 1. 本文目的:理清在各种继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容。 2. 说明:虽然复制构造函数属于构造函数的一种,有共同的地方,但是也具有一定的特殊性,所以在总结它的性质时将它单独列出来了。 3. 单继承、多继承、虚继承,既然都属于继承,那么虽然有一定的区别,但还是相同点比较多。如果放在一块讲,但为了转载 2014-11-11 09:51:18 · 591 阅读 · 0 评论 -
返回指向局部变量的指针或引用
返回局部变量没问题 如果返回局部变量有问题,函数的意义还有吗? 全局变量还用返回吗? 返回指向局部变量的指针才有问题, 函数退栈之后,局部变量消失, 指针将指向未知区域,所以出现问题。返回局部变量的引用也是绝对不可以的。 引用只是变量的一个别名,变量本体都不存在了,引用当然也没有任何意义。 还有,如果是堆空间,可以返回,即在函数中用new申请的空间,是可以返转载 2014-11-04 08:57:03 · 3565 阅读 · 0 评论 -
C语言变量声明加冒号的用法
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域转载 2015-01-05 22:32:31 · 1086 阅读 · 0 评论 -
C++ 内存分配(new,operator new)详解
本文主要讲述C++ new运算符和operator new, placement new之间的种种关联,new的底层实现,以及operator new的重载和一些在内存池,STL中的应用。一 new运算符和operator new(): new:指我们在C++里通常用到的运算符,比如A* a = new A; 对于new来说,有new和::new之分,前者位于std转载 2015-04-13 11:42:31 · 1373 阅读 · 0 评论