
c/c++
文章平均质量分 79
mare2012
这个作者很懒,什么都没留下…
展开
-
c/c++不定参数函数
不定参数函数stdarg.h是C语言中C标准函数库的头文件,stdarg是由stdandard(标准) arguments(参数)简化而来,主要目的为让函数能够接收不定量参数。 C++的cstdarg头文件中也提供这样的机能;虽然与C的头文件是兼容的,但是也有冲突存在。不定参数函数(Variadic functions)是stdarg.h内容典型的应用,虽然也可以使用在其他由不定参数函数调...原创 2011-08-16 17:32:44 · 384 阅读 · 0 评论 -
c/c++位字段
位字段 定义位字段是C语言中一种存储结构,不同于一般结构体的是它在定义成员的时候需要指定成员所占的位数。所有基础的数据类型, 最大的也不过 10 个字节;我们可以自定义的数据类型 -- struct, 通过把若干类型组合在一起, 让一种类型可以大很多.我们知道, 一个字节有八个 Bit 组成; struct中的 "位字段" 是以 Bit 为单位的, 这已经是计算...2011-08-18 14:36:04 · 1421 阅读 · 0 评论 -
c++非公有虚函数探究
(一)公有虚函数子类通过覆盖公有虚函数的方式实现多态是最常见的情况。指向子类对象的基类指针调用被子类覆盖的函数,实际上,调用的是子类的函数。以下代码: class Base{public: virtual void foo() { cout<<"Base::foo"<<endl; }};c...2011-09-28 15:50:30 · 194 阅读 · 0 评论 -
C++:源文件与头文件有什么区别
C++的源代码文件分为两类:头文件(Header file)和源文件(Source code file)。头文件用于存放对类型定义、函数声明、全局变量声明等实体的声明,作为对外接口;而源程序文件存放类型的实现、函数体、全局变量定义.C++的源代码文件分为两类:头文件(Header file)和源文件(Source code file)。头文件用于存放对类型定义、函数声明、全局变量声明等实...原创 2011-04-04 10:17:33 · 951 阅读 · 0 评论 -
C++命名空间与头文件的关系
C++命名空间与头文件的关系:(一)添加一个头文件demonamespace.h,内容如下#ifndef DEMONAMESPACE_H_#define DEMONAMESPACE_H_ class A{public: int value;}; namespace mynp{ A ma;} #endif /*DEM...2011-04-04 11:06:21 · 854 阅读 · 0 评论 -
C++书写拷贝构造函数,重载赋值操作符和clone函数需要注意问题
对于C++类:显示地写出拷贝构造函数,重载赋值操作符和析构函数是良好的习惯,但在写构造函数时需要注意一些容易出现的错误,如下面的代码: #include <iostream>using namespace std; class M{public: M(){} M(const M &m){ cout&...2011-04-04 14:03:28 · 163 阅读 · 0 评论 -
RAII惯用法:C++资源管理的利器
RAII惯用法:C++资源管理的利器RAII是指C++语言中的一个惯用法(idiom),它是“Resource Acquisition Is Initialization”的首字母缩写。中文可将其翻译为“资源获取就是初始化”。虽然从某种程度上说这个名称并没有体现出该惯性法的本质精神,但是作为标准C++资源管理的关键技术,RAII早已在C++社群中深入人心。我记得第一次学到RAII惯...原创 2011-04-04 23:18:24 · 114 阅读 · 0 评论 -
c++内存分配优先使用内存池,而不是new,delete
c++内存分配优先使用内存池,而不是new,delete容健行@2008-2-1转载请注明出处trackback:http://www.devdiv.net/home/space.php?uid=125&do=blog&id=364 认识一下new和delete的开销:new和delete首先会转调用到malloc和free,这个大家应该很熟识了。很多人...原创 2011-04-08 16:13:19 · 223 阅读 · 0 评论 -
引用计数简单实现
延迟销毁资源,不具备写时复制功能,贴出代码 class DataSource{private: volatile unsigned int *m_pICount; double *m_pData;public: DataSource(double *pData); ~DataSource(); DataSource(const DataSource...2012-03-17 17:08:57 · 249 阅读 · 1 评论