类
文章平均质量分 65
进化中
这个作者很懒,什么都没留下…
展开
-
函数名前后加const的区别
int const func1(); int func2() const; func1是合法的,表示是一个常量函数,返回的是一个常量的值,也就是返回的值是不可以改变的!表示该成员函数的隐藏this指针参数是int* const类型的。 func2是非法的!const用在函数后只要是针对类的const对象。因此对函数的const限定词只能用于类的成员函数。使用const修饰的成员原创 2013-10-28 16:23:46 · 1060 阅读 · 0 评论 -
C++类对象内存结构
首先介绍一下C++中有继承关系的类对象内存的布局: 在C++中,如果类中有虚函数,那么它就会有一个虚函数表的指针__vfptr,在类对象最开始的内存数据中。之后是类中的成员变量的内存数据。 对于子类,最开始的内存数据记录着父类对象的拷贝(包括父类虚函数表指针和成员变量)。 之后是子类自己的成员变量数据。 对于子类的子类,也是同样的原理。但是无论继承了多少个子类,对象中始终只有一个虚函数原创 2013-10-23 21:31:32 · 445 阅读 · 0 评论 -
explicit构造函数
本文转载于:http://www.cnblogs.com/cutepig/archive/2009/01/14/1375917.html 按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示: class String { String ( const char* p ); // 用C风格的字符串p作为初始化值 //转载 2013-10-31 20:34:36 · 420 阅读 · 0 评论