C++
文章平均质量分 95
yishuige
这个作者很懒,什么都没留下…
展开
-
C++类中的static数据成员,static成员函数
C++类中谈到static,我们可以在类中定义static成员,static成员函数!C++primer里面讲过:static成员它不像普通的数据成员,static数据成员独立于该类的任意对象而存在,每个static数据成员是与类关联的对象,并不与该类的对象相关联!这句话可能比较拗口,其实可以这么理解:每个static数据成员可以看成是类的一个对象,而不与该类定义的对象有任何关系!下面我们就来具体转载 2015-04-10 17:04:52 · 282 阅读 · 0 评论 -
C语言正则表达式详解 regcomp() regexec() regfree()详解
标准的C和C++都不支持正则表达式,但有一些函数库可以辅助C/C++程序员完成这一功能,其中最著名的当数Philip Hazel的Perl-Compatible Regular Expression库,许多Linux发行版本都带有这个函数库。C语言处理正则表达式常用的函数有regcomp()、regexec()、regfree()和regerror(),一般分为三个步骤,如下所示:转载 2016-05-18 19:11:52 · 287 阅读 · 0 评论 -
tm结构
在标准C/C++中,我们可通过tm结构来获得日期和时间,tm结构在time.h中的定义如下:#ifndef _TM_DEFINEDstruct tm { int tm_sec; /* 秒 – 取值区间为[0,59] */ int tm_min; /* 分 - 取值区间为[0,59] */ int转载 2016-05-31 11:36:05 · 2327 阅读 · 0 评论 -
顺序容器vector、list、deque的区别
顺序容器vector、list、deque的区别 顺序容器三种容器均支持resieze()操作,重新划定容器大小,且此函数有重载。vector vector和built-in数组类似,是一个在堆上建立的一维数组,它拥有一段连续的内存空间,并且起始地址不变,因此 它能非常好的支持随即存取,即[]操作符。vector因为存储在堆上,所以支持erase( ), res转载 2015-04-17 15:34:07 · 344 阅读 · 0 评论 -
C++ Primer 第十章 关联容器
C++ Primer 第十章 关联容器 关联容器和顺序容器的本质差别在于:关联容器通过键(key)存储和读取元素,而顺序容器则通过元素在容器中的位置顺序存储和访问元素。 关联容器(Associative containers)支持通过键来高效地查找和读取元素。两个基本的关联容器类型是 map 和 set。 map 的元素以键-值(key-value)对的转载 2015-04-17 17:44:43 · 347 阅读 · 0 评论 -
基类与派生类的转换
基类与派生类的转换 一、 基类与派生类的转换 3种继承方式(公用、保护、私有继承)中,公用派生类才是基类真正的子类型,它完整地继承了基类的功能。 不同类型数据之间在一定条件下可以进行类型的转换。基类与派生类对象之间是否也有赋值兼容的关系,可否进行类型间的转换?回答是可以的。基类与派生类对象之间有赋值兼容关系,由于派生类中包含从基类继承的成员,因此可转载 2015-04-16 08:56:13 · 274 阅读 · 0 评论 -
面向对象--多继承&派生类对象内存布局分析&各基类指针所指向的位置分析
原文链接:ordeder http://blog.csdn.net/ordeder/article/details/25477363关于非虚函数的成员函数的调用机制,可以参考:http://blog.csdn.net/yuanyirui/article/details/4594805成员函数的调用涉及到面向对象语言的反射机制。虚函数表机制可以查看下面这个blo转载 2015-04-16 11:08:03 · 511 阅读 · 0 评论 -
虚函数与构造函数、析构函数
虚函数与构造函数、析构函数 1、构造函数能不能是虚函数: 1.1从存储空间角度虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。1.2从使用角度虚函数转载 2015-04-16 10:16:08 · 358 阅读 · 0 评论 -
各种变量在内存中的分布
各种变量在内存中的分布 一般认为在c中分为这几个存储区1栈 - 有编译器自动分配释放2堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束释放。4另外还有一个专门放常量的地方。 - 程序结束释转载 2015-04-14 10:28:18 · 704 阅读 · 0 评论 -
C++ 公用、私有和受保护的继承
C++ 公用、私有和受保护的继承 《C++ Primer》中如下解释公用、私有和受保护的继承,本人感觉很重要,也烦了不少错,觉得有必要记录下来。 C++ 对类所继承下来的成员的访问方式由基类中的成员访问级别和派生类的派生列表中使用的访问标号共同控制: (1)如果成员的基类中位private,则只有基类和基类的友元可以访问该成员。转载 2015-04-14 17:46:39 · 456 阅读 · 0 评论 -
c++构造函数详解
c++构造函数详解(转) c++构造函数的知识在各种c++教材上已有介绍,不过初学者往往不太注意观察和总结其中各种构造函数的特点和用法,故在此我根据自己的c++编程经验总结了一下c++中各种构造函数的特点,并附上例子,希望对初学者有所帮助。 c++类的构造函数详解转载 2015-04-13 14:23:28 · 378 阅读 · 0 评论 -
C++中this指针的用法及介绍
C++中this指针的用法及介绍作者: 字体:[增加 减小] 类型:转载 以下是对C++中this指针的用法进行了详细的分析介绍,需要的朋友可以过来参考下this指针只能在一个类的成员函数中调用,它表示当前对象的地址。下面是一个例子: 复制代码 代码如下: void Date::setMonth( int mn ) {转载 2015-04-13 13:35:34 · 343 阅读 · 0 评论 -
C++静态库与动态库
C++静态库与动态库这次分享的宗旨是——让大家学会创建与使用静态库、动态库,知道静态库与动态库的区别,知道使用的时候如何选择。这里不深入介绍静态库、动态库的底层格式,内存布局等,有兴趣的同学,推荐一本书《程序员的自我修养——链接、装载与库》。什么是库库是写好的现有的,成熟的,可以复用的代码。现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存转载 2016-06-12 10:09:27 · 282 阅读 · 0 评论