C/C++
文章平均质量分 70
weiyuan2011
这个作者很懒,什么都没留下…
展开
-
C++智能指针auto_ptr
C++ auto_ptr C++提供的auto_ptr是一种智能型指针,帮助程序员防止“被异常抛出时发生资源泄露” 这个指针要保证无论在何种情况下,只要自己被摧毁,就一定连带释放其所控制的空间 该指针要求对象只有一个拥有者,严禁一物二主 注意: std::auto_ptrptr1(new ClassA)是正确对智能指针的初始化 std::auto_ptrptr2= newClas原创 2013-10-01 11:30:43 · 923 阅读 · 0 评论 -
C++多态
C++里的多态性主要有四种: 1)重载多态--------发生于同范围内,函数名相同,参数不同 2)包含多态--------“虚函数”实现的多态,发生于派生类与基类 3)强制多态--------为完成某功能进行类型的强制转换 4)参数多态--------“模板”反映的一种多态 这里我们主要讨论的是包含多态,后面就简称为多态。 多态的表现就是同一个消息会引发不同的行为,实原创 2013-09-29 22:51:03 · 935 阅读 · 0 评论 -
默认构造函数
今天看C++Primer时,对它所讲的默认构造函数觉得有些疑惑,尤其是“每一个类必须有一个自己的默认构造函数”,我就郁闷了,如果我定义类的时候都有参数给进传也要写吗? 于是,整理了下默认构函数的事情: Q1.什么是默认构造函数? A1.默认构造函数就是形如构造函数无参数列表或者参数有给定的默认值,在定义对象时,如果没有显式调用某个带参构造函数,就会调用这个默认构原创 2013-12-28 12:50:30 · 769 阅读 · 0 评论 -
TinyXML来操作XML文件(C++)
XML文件 (Extensible Markup Language可扩展标记语言) 1) 元标记语言,所谓“元标记”就是用户可自定义,而HTML是预定义的,不允许自定义 2) 语义/结构化语言,可描述文档的结构和语义 3) 数据交换,因为它是跨平台的,跨系统、跨应用程序,所以就可以将这个数据很方便的将一个数据在两个应用程序间交换 4) 结构化数据,可以定原创 2014-01-03 23:22:01 · 945 阅读 · 0 评论 -
TinyXML来操作XML文件(C++)<二>
在上一篇文章《TinyXML来操作XML文件(C++)》我们练习了创建XML、读取XML的方法,在本文中我们继续学习XML文件的增删改操作:包括读取声明、读取某结点文本属性、删去某结点、修改结点属性文本,增加结点操作 读取XML声明: void ReadDeclaration(char *FileName,string& version,string& standalone,string& e原创 2014-01-08 17:34:14 · 971 阅读 · 0 评论 -
C++中对Lib及Dll的链接调用
首先介绍静态链接库*.lib的链接 Step1.创建一个lib文件 //lib.h #ifndef _LIB_H #define _LIB_H int add(int a = 0,int b = 0); #endif//lib.cpp #include "lib.h" int add(int a,int b) { return a+b; } Step2.在main函数原创 2014-01-08 18:21:08 · 2525 阅读 · 0 评论 -
检测内存泄露
C++程序的复杂性很大一部分在于他的内存管理,没有C#那样的垃圾回收机制,内存管理对初学者来说很困难。经常会出现内存泄露的情况。那么我们写程序如何避免内存泄露呢?首先我们需要知道程序有没有内存泄露,然后定位到底是哪行代码出现内存泄露了,这样才能将其修复。 本文描述了如何检测内存泄露。最主要的是纯C,C++的程序如何检测内存泄露。 现在有很多专业的检测工具,比如比较有名的BoundsCheck,转载 2014-01-01 16:12:35 · 689 阅读 · 0 评论 -
C++类的内存布局
昨天面试去哪网,考官问了C++类的内存布局,不是很懂,下来赶紧整理整理。 首先纠正一个错误:以前总是觉得类的大小就是sizeof(class A)的大小,直到刚才才明白是错的,我们定义了一个类,只是定义了一个类型,就像int是一样的,难道你要说int的大小的4吗,只能说int 类型的变量占4个字节。以此类推下来,只有当一个类被实例化时才会为该对象分配空间,所以sizeof(classA)原创 2013-09-29 10:15:07 · 958 阅读 · 0 评论 -
《程序员面试宝典》中所遇到的疑惑与解答
1.P47 问题5.4 float f = 1.0f,为什么在内存中是0x3f80 0000??? 答:这主要归结于float类型变量的存储 符号位 阶码位 尾数位 1 8 23 以上表格就是float类型变量在内存中存储结构其中1、8、23代表占了多少位。 EX100.0f,在内存中怎么表示呢? step1.将100.f表示为二进制11001原创 2013-09-30 13:26:12 · 1330 阅读 · 0 评论 -
什么是回调函数
通常在我们所写的应用程序中,会调用WinAPI函数,在调用传参时,传入一个函数名,也就是一个函数地址,这个函数地址其实就是回调函数的地址。回调函数是我们自己所写,由WinAPI调用。在WinAPI执行时,如果发生某种情况,就会调用我们传入的这个函数。 所谓的回调就体现在:原来是由我们程序员调用别人写好的底层WinAPI函数,现在是由底层WinAPI调用我们所写的函数。原创 2014-02-19 16:13:00 · 832 阅读 · 0 评论