
C/C++
文章平均质量分 68
lv_Amelia
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++虚函数表解析
前言 静态类型:对象声明的类型为静态类型 动态类型:对象所指的类型为动态类型静态绑定和动态绑定:绑定的是对象的静态类型还是动态类型,virtual函数都是动态绑定,其他的都是静态绑定,包括virtual函数中的默认形参。虚函数 C++中的虚函数主要是实现了多态机制。关于多态,就是用父类型的指针指向子类型的实例,然后通过父类型的指针调用子类型的函数。这种技术可以让父类的指针有“多种形态”,这是一原创 2018-03-08 10:02:41 · 202 阅读 · 0 评论 -
C/C++文件读写
一、C读写函数 1、打开文件 FILE *fopen(const char *filename, const char *mode); 成功:返回指向FILE*的文件指针,失败:返回NULL filename: 指向文件名称的字符串 mode: 文件打开的模式 r: 只读 w: 只写,文件不存在则创建,存在就清空 a: 追加,文件不存在则创建原创 2018-03-21 09:55:48 · 360 阅读 · 0 评论 -
C++单例模式
其意图是保证一个类仅有一个实例对象,并提供一个全局的访问点,该实例被所有的程序共享。 class CSingleton { public: static CSingleton *Instance(); private: CSingleton(); static CSingleton *m_pInstance; }; CSingleton *CSi原创 2018-03-14 09:43:20 · 159 阅读 · 0 评论 -
C/C++知识细节整理
1、static有什么用途? 1) 在函数体,声明为static的变量在这一函数被调用的过程中维持其值不变 2) 在模块内(在函数体外),声明为static的变量被模块内的所有函数共享,但是它不能被模块外的函数访问。是一个本地化的全局变量 3)在模块内,声明为static的函数只可被该模块内的其他函数调用。那就是,限制该函数只能在本模块内使用2、const和#define相比,有何原创 2018-03-09 14:03:53 · 244 阅读 · 0 评论 -
C++函数对象
原文 标准库里的count_if可以统计容器中满足特定条件的元素的个数。例如要统计vector ivec中正数的个数,可以先写一个返回类型为bool,含有一个int参数的条件函数: bool pred(int val) { return val > 0; } 之后可以用count_if(ivec,begin(), ivec.end(), pred)计算出正整数的个数。原创 2018-03-15 14:17:26 · 222 阅读 · 0 评论 -
C++四种类型转换方式
C风格的强制类型转换(Type Case)很简单,不管什么类型的传统转换都是:Type b = (Type)a,但是C风格的类型转换有不少的缺点,有的时候用C风格的转换是不合适的,因为它可以在任意类型之间进行转换,比如你可以把一个指向const类型的指针转换成指向非const类型的指针,把一个指向基类对象的指针指向派生类对象的指针,这两者之间的转换差距是巨大的,但是传统的C风格的转换没有区分这些。还原创 2018-03-08 14:00:59 · 378 阅读 · 0 评论 -
extern和extern "C"
extern的问题在于你不知道这个关键字出现的时候到底是声明还是定义。 谨记:声明可以多次,但是定义只能有一次。函数的声明extern关键字是可有可无的,因为函数本身不加修饰的话就是extern的。下面分变量和函数来说明: (1) 变量 extern int a; //声明一个全局变量 int a; //定义一个全局变量 extern int a = 0;//定义全局变量并给初值原创 2018-03-08 13:55:00 · 3182 阅读 · 0 评论 -
C、C++字符串处理
一、C++字符串 C++标准库中定义了一个string类,用来处理可变长字符序列。使用string类需要#include <string>,定义在命名空间std中。1、string的定义和初始化string str1; //等价于string str1 = ""string str2 = str1; //复制赋值string str3 = "abcd";原创 2018-04-24 18:39:00 · 359 阅读 · 0 评论